我正在寻找一个html消毒器,我可以调用每个API来消毒字符串,我从我的网络应用程序。是否有一些有用的、易于使用的库可用?有没有人知道一两个?
我不需要大的东西,它只需要能够找到未关闭的标签,并关闭它们。
发布于 2009-12-22 23:23:29
JTidy可能会对您有所帮助。
发布于 2012-01-18 01:15:36
https://github.com/OWASP/java-html-sanitizer现在被标记为可供生产使用。
这是一个用
编写的快速且易于配置的超文本标记语言杀菌器,它允许你在你的web应用程序中包含第三方创作的超文本标记语言,同时保护你的应用程序免受XSS攻击。
您可以使用prepackaged policies
Sanitizers.FORMATTING.and(Sanitizers.LINKS)或者tests向您展示了如何轻松配置您自己的:
new HtmlPolicyBuilder()
.allowElements("a")
.allowUrlProtocols("https")
.allowAttributes("href").onElements("a")
.requireRelNofollowOnLinks()或者编写自定义策略来执行某些操作,如将h1更改为具有特定类的div:
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"))发布于 2013-12-19 07:01:01
JSoup的超文本标记语言解析器还支持按策略进行清理:http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer
https://stackoverflow.com/questions/1947021
复制相似问题