encodeAsHTML() e f:field
07/05/2017 13:46
0
Caros, boa tarde.

Estou começando a utilizar Grails para um projeto pessoal e, apesar de percorrer a documentação e outros fóruns não consegui identificar uma solução simples (para este caso em especial, creio que a solução seja realmente simples).

Ao gerar um CRUD simples, percebi o uso do plugin grails-fields para exibição de itens individuais e listagem (show/id e list).

O problema que desejo solucionar é escapar o conteúdo html que um usuário mal intencionado possa inserir.
Por exemplo, no CRUD insiro <b> e o conteúdo da página de listagem fica automaticamente em negrito.

Li na documentação (e de fato, comprovei) que as tags nativas g:fieldValue por exemplo, e também expressions ${} escapam esse conteúdo por natureza.
No entanto, a tag utilizada pelo crud não o faz naturalmente. Sei que uma opção é expor field a field separadamente, mas creio que não seja necessário e esteja deixando escapar algo.

Estou utilizando as configurações recomendadas na documentação referente à segurança e também tentei (desesperadamente) utilizar a configuração por plugin:

grails:
?views:
default:
codec: html
gsp:
encoding: UTF-8
htmlcodec: xml
codecs:
expression: html
scriptlets: html
taglib: none
staticparts: none

fields.grails.views:
default: xml
gsp:
htmlcodec: xml
codecs:
expression: html
taglib: html

Qual caminho é o mais correto a seguir?
Tags: Grails,field,codec,html,xss


Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto