Estoy intentando utilizar jsoup para desinfectar el el html publicado desde un WYSIWYG en mi cliente (tinymce como es el caso)jsoup demasiado estrictos para el editor WYSIWYG
El modo relajado parece no estar relajado lo suficiente como por defecto elimina los elementos de span y cualquier atributo de estilo.
por ejemplo
String text = "<p style="color: #ff0000;">foobar</p>";
Jsoup.clean(text, Whitelist.relaxed());
habría salida
<p>foobar</p>
y
<span>foobar</span>
se eliminaría por completo.
¿Alguien tiene alguna experiencia en el uso de Jsoup para erradicar la posibilidad de ataques XSS y aún permitir el paso de los elementos y atributos anteriores?
Editar: He ido con lo siguiente. ¿Alguien podría aconsejar sobre qué tan vulnerable es esto?
Jsoup.clean(pitch, Whitelist.relaxed().addTags("span").addAttributes(":all","style"));
Editar 2: Alguien ha utilizado la biblioteca owasp en producción. Parece desinfectar correctamente preservando el estilo correcto. OWASP
debe querer decir Jsoup.clean(), ¿verdad? –
Cheers B. Anderson. He hecho la corrección. – jaseFace