Когда кодировать как HTML в Grails
Я часто вижу пример кода Grails, где программист вызвал метод под названием encodeAsHTML()
. Я полагаю, что я, вероятно, должен использовать это в своих приложениях Grails (по соображениям безопасности, я предполагаю?), Но мне было интересно, когда я должен использовать этот метод. Какие объекты/свойства/и т.д. являются кандидатами для метода encodeAsHTML()
?
Спасибо!
Ответы
Ответ 1
Используйте encodeAsHTML()
(или encodeAsJavaScript
и т.д.) для всего, что у вас есть у пользователя. Для каждой строки, которая может быть изменена пользователем (получена из формы ввода, из параметра запроса, из внешнего вызова API и т.д.)
См. также:
Ответ 2
Я не уверен, когда это было введено для Grails, но если в Config.groovy
вы установите grails.views.default.codec="html"
, тогда encodeAsHTML()
вызывается всякий раз, когда вы используете ${}
в GSP.
Источник: http://alwaysthecritic.typepad.com/atc/2010/06/grails-gsp-html-escaping-confusion.html