Estoy buscando clases/utilidades, etc. para desinfectar el código HTML, es decir, eliminar etiquetas peligrosas, atributos y valores para evitar ataques XSS y similares.¿Cómo desinfectar el código HTML en Java para prevenir los ataques XSS?
Obtengo el código html del editor de texto enriquecido (por ejemplo, TinyMCE) pero puede enviarse de manera maliciosa, omitiendo la validación de TinyMCE ("Los datos enviados se envían fuera del sitio").
¿Hay algo tan simple de usar como InputFilter en PHP? La solución perfecta me puedo imaginar que obras como (asumir desinfectante se encapsula en la clase HtmlSanitizer):
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...
actualización - la solución más simple, mejor! Una pequeña clase de utilidades con tan pocas dependencias externas en otras bibliotecas/frameworks como sea posible - sería lo mejor para mí.
¿Qué tal eso?
Lo que básicamente quiere es que los clientes puedan enviar formularios que luego se muestran en forma de fx. un libro de visitas? ¿Y desea que puedan usar html pero aún desea poder bloquear intentos maliciosos de piratería de usuarios? ¿O lo entendí mal aquí ...? – Latze
@Latze: Deseo que los clientes (usuarios a través de sus navegadores) envíen contenido enriquecido (formato html a través del editor de texto enriquecido - TinyMCE) pero para verificar y eliminar cualquier contenido potencialmente peligroso (inseguro). No sé qué es el fx y el libro de visitas que mencionas en este contexto. – WildWezyr
¡Ah! Voy a darle una oportunidad, dame un par de minutos – Latze