Существуют ли какие-либо возможные способы, с помощью которых вредоносный пользователь в веб-приложении может манипулировать вводом, который отправляется передним интерфейсом веб-приложения (конечно, не говоря о ДАННЫХ ФОРМЫ), но запросы, которые отправляются, например, когда я разрешаю ему редактировать свой профиль или его контент, он может манипулировать идентификаторами (userId или contentId), чтобы он мог злонамеренно делать зло с другим контентом пользователей? Эти входы фиксируются на веб-странице и не редактируются, но могут ли пользователи манипулировать ими?
Возможно ли, что пользователи могут нанести вред таким образом? Как я могу защитить свою заявку от этого? Кроме того, проверяя личность пользователя и его содержимое / свойства в приложении до разрешения каждого его действия.
Да, конечно. Все, что приходит от клиента, может быть изменено и не может быть доверено вообще .
Вам нужно выполнить проверку на стороне сервера, если пользователь редактирует свой профиль или что-то, что ему разрешено редактировать.
Для таких вещей, как редактирование профиля, вы можете просто использовать идентификатор пользователя, хранящийся в его сеансе (при условии, что он защищен, то есть хранится на стороне сервера или в файлах с криптографической подписью). Только пусть данные проходят через клиент, если это необходимо – если данные уже доступны на сервере, вам даже не нужно давать пользователю ощущение, что он может вмешаться. Несмотря на то, что его можно использовать в качестве медового банка, но это не значит, что большинство веб-приложений …
Да, это возможно, и это реальная опасность.
Есть две вещи, которые вы можете сделать:
(Кстати, это не эксклюзивные варианты, в идеале вы должны сделать оба.)
Оба решения по-прежнему оставляют вас склонными к захвату сеанса, хотя это другая, более глобальная проблема.