Comment nettoyer le code HTML le code en Java pour empêcher les attaques XSS?

Je suis à la recherche pour la classe/util etc. pour nettoyer le code HTML le code c'est à dire supprimer dangereux des balises, des attributs et des valeurs d'éviter les attaques de type XSS et des attaques similaires.

- Je obtenir le code html à partir de l'éditeur de texte enrichi (par exemple TinyMCE), mais il peut être envoyer manière malveillante autour de, ommiting TinyMCE validation ("Données soumises par le formulaire off-site").

Est-il quelque chose aussi simple à utiliser que InputFilter en PHP? Solution parfaite, je peux imaginer fonctionne comme ça (à supposer désinfectant est encapsulé dans HtmlSanitizer classe):

String unsanitized = "...<...>...";           //some potentially 
                                              //dangerous html here on input

HtmlSanitizer sat = new HtmlSanitizer();      //sanitizer util class created

String sanitized = sat.sanitize(unsanitized); //voila - sanitized is safe...

Mise à jour - la solution la plus simple, le mieux! Petite util classe avec aussi peu de dépendances externes sur d'autres librairies/frameworks que possible - serait le mieux pour moi.


Comment à ce sujet?

  • Donc, ce que vous voulez est pour les clients d'être en mesure de soumettre des formulaires qui sont ensuite affichées dans la forme de fx. un livre d'or? Et vous voulez qu'ils soient en mesure d'utiliser le langage html, mais vous voulez toujours être en mesure de bloquer des utilisateurs malveillants de piratage-tente? Ou ai-je tout faux ici...?
  • Je veux que les clients (utilisateurs via leurs navigateurs) à soumettre texte enrichi de contenu (format html via l'éditeur de texte enrichi - TinyMCE), mais de vérifier et de supprimer tout élément potentiellement dangereux (dangereux) de contenu. Je ne sais pas qu'est-ce que fx et le livre d'or que vous mentionnez dans ce contexte.
  • Ah! Je vais donner un coup de feu, donnez-moi quelques minutes
InformationsquelleAutor WildWezyr | 2010-08-05