我正在寻找一个html清理程序,我可以根据API调用它来清理我从webapp获取的字符串.是否有一些有用的易用库?有谁知道也许一两个?
我不需要大的东西它必须能够找到未封闭的标签并关闭它们.
https://github.com/OWASP/java-html-sanitizer现已标记为可供生产使用.
一个快速且易于配置的用Java编写的HTML Sanitizer,它允许您在Web应用程序中包含由第三方创作的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, Listattrs) { attrs.add("class"); attrs.add("header-" + elementName); return "div"; } }, "h1"))
JTidy可能会帮助你.