【发布时间】:2012-03-01 02:38:51
【问题描述】:
我想清理用户输入以帮助防止 XSS 攻击,我们不一定关心 HTML 白名单,因为我们的用户不需要发布任何 HTML/CSS。
寻找替代方案,哪个会更好? [Apache Commons Text 的 StringEscapeUtils] [1] 还是 [JSoup Cleaner][2]?
谢谢!
更新:
在为 JSoup 和 Apache Commons Text 编写了一些单元测试之后,我选择了 JSoup。
我喜欢 JSoup 不会与单引号混淆(即“Alan's mom”没有改变,而 Apache Commons Text 将它变成“Alan's mom”)。
而且白名单根本不是问题。它不需要任何配置,相反,它们包含一些内置选项,如果我们选择允许某些 HTML 标记子集,它们可能会派上用场。 [1]:https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/StringEscapeUtils.html [2]:http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer
【问题讨论】:
-
JSoup 确实是一些很棒的东西。
标签: java xss apache-commons jsoup html-escape-characters