如何清理Java中的HTML代码以防止XSS攻击?
2022-09-01 05:49:54
我正在寻找class/util等来清理HTML代码,即删除危险的标签,属性和值,以避免XSS和类似的攻击。
我从富文本编辑器(例如TinyMCE)获得html代码,但它可以以恶意方式发送,省略TinyMCE验证(“数据提交表单异地”)。
有没有像PHP中的InputFilter这样简单易用的东西?我可以想象的完美解决方案是这样的(假设消毒器封装在HtmlSanitizer类中):
String unsanitized = "...<...>..."; // some potentially
// dangerous html here on input
HtmlSanitizer sat = new HtmlSanitizer(); // sanitizer util class created
String sanitized = sat.sanitize(unsanitized); // voila - sanitized is safe...
更新 - 解决方案越简单越好!小的util类,尽可能少地依赖其他库/框架 - 对我来说是最好的。
怎么样?