https://github.com/OWASP/java-html-sanitizer теперь помечено как готовое к использованию.
Быстрый и простой в настройке HTML Sanitizer, написанный на Java, который позволяет включать HTML, созданный сторонними разработчиками, в ваше веб-приложение при защите от XSS.
Вы можете использовать предварительно упакованные политики
Sanitizers.FORMATTING.and(Sanitizers.LINKS)
или тесты показывают, как вы можете легко настроить свой собственный:
new HtmlPolicyBuilder()
.allowElements("a")
.allowUrlProtocols("https")
.allowAttributes("href").onElements("a")
.requireRelNofollowOnLinks()
или напишите пользовательские политики для таких вещей, как изменение h1
s на div
s с определенным классом:
new HtmlPolicyBuilder()
.allowElements("h1", "p")
.allowElements(
new ElementPolicy() {
public String apply(String elementName, List<String> attrs) {
attrs.add("class");
attrs.add("header-" + elementName);
return "div";
}
}, "h1"))