Wie kann man HTML-Code in Java bereinigen, um XSS-Angriffe zu verhindern?
Ich suche nach class / util usw., um HTML-Code zu bereinigen, d. H. Gefährliche Tags, Attribute und Werte zu entfernen, um XSS und ähnliche Angriffe zu vermeiden.
Ich erhalte HTML-Code vom Rich-Text-Editor (z. B. TinyMCE), aber es kann böswillig sein, TinyMCE-Validierung zu unterlassen ("Daten von außerhalb gesendet").
Ist etwas so einfach zu benutzen wie InputFilter in PHP? Die perfekte Lösung, die ich mir vorstellen kann, funktioniert so (vorausgesetzt, der Desinfizierer ist in der HtmlSanitizer-Klasse gekapselt):
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...
Aktualisiere - je einfacher die Lösung, desto besser! Eine kleine Util-Klasse mit möglichst geringen externen Abhängigkeiten zu anderen Bibliotheken / Frameworks - wäre das Beste für mich.
Wie ist es damit