Я думаю, что вы абсолютно правы в своем резюме. Игра дает вам некоторые решения, но не все. Однако в двух местах, где Play не предлагает чего-либо (в CSS и атрибуте), я не могу найти в этом необходимость.
Стандарт OWASP указывает, что вы должны избегать ненадежного кода. Таким образом, единственный способ, которым у вас будет ненадежный код в вашем CSS, - это если он генерируется динамически. Если он генерируется динамически, то ничто не мешает вам делать это с помощью стандартных шаблонов Groovy и, следовательно, с использованием ${}
и escape()
.
Что касается экранирования атрибута, опять же, насколько я могу судить, вам понадобится только один раз, когда вы создаете представление в шаблонах groovy, поэтому снова вы можете использовать ${}
или escape()
.