2011-05-10 3 views
0

Dans mon application les utilisateurs pourront placer leur propre contenu. Bien sûr, je veux sécuriser mon application pour les attaques XSS. Mais en utilisant .encodeAsHTML() échappe à tout. Je voudrais laisser les utilisateurs styler leur texte, donc j'aimerais que certaines balises soient non échappées, comme <b>, <i>, <u>. Une idée de comment je peux faire ça? Ou peut-être que quelqu'un a déjà fait quelque chose de similaire? Je pensais aussi à la mise en forme de style BBCode - quelqu'un l'a fait sur les grails?Échapper seulement des étiquettes spécifiques dans les grails

Répondre

1

Jetez un coup d'œil à jsoup, qui vous permet d'ajouter des balises et des attributs à la liste blanche, mais qui nettoie votre code HTML.

Voici un exemple:

String escapeNonFormattingHTML(String unescaped) { 
    def whitelist = Whitelist().simpleText() //allows b, i, u, em, strong 
    return new Jsoup().clean(unescaped, whitelist) 
} 
0

plug-in Html cleaner peut vous aider html propre basé sur des listes blanches. Mais les autres tags ne seront pas échappés mais complètement supprimés. C'est basé sur jsoup.

Questions connexes