Я ищу способ, чтобы предотвратить HTML изменения формы пользователя, основываясь на этом примере:Grails Предотвращение HTML модификации
«Пользователь» субъект имеет перечислимую роль (пользователь, администратор и т.д.) и есть UserController что отображает ag: форму для первой, последней и электронной почты. Действие контроллера выполняет user.properties = params.
Как пользователь может изменить форму HTML с помощью Firebug или Webdeveloper Chrome и переименовать имя поля в ролевую и ввести «Администратор» и получить права администратора.
Существует useToken = "true" и withForm-замыкание, но это просто мешает пользователю дважды отправить ту же форму. Кроме того, это работает с сеансами, и поэтому он не масштабируется на нескольких серверах.
Я использую Grails 2.3.6. Есть ли способ предотвратить такие вещи, кроме использования xxx.properties = params?
Спасибо за хороший ввод. Но разве нет способа гарантировать, что форма не была изменена, например. hash все имена полей? Полагаю, это не было целью использования Token, верно? – sullivan
Да, вы правы. useToken будет предотвращать подделку с двумя формами-submit и кросс-сайтом. –