我想清理用户输入以帮助防止 XSS 攻击,我们不一定关心 HTML 白名单,因为我们的用户不需要发布任何 HTML / CSS。
盯着那里的替代品,哪个会更好?[Apache Commons Text 的 StringEscapeUtils] [1] 还是 [JSoup Cleaner][2]?
谢谢!
更新:
在为它和 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