gpt4 book ai didi

java - 如何清理 Java 中的 HTML 代码以防止 XSS 攻击?

转载 作者:IT老高 更新时间:2023-10-28 20:32:48 26 4
gpt4 key购买 nike

我正在寻找 class/util 等来清理 HTML 代码,即删除危险的标签、属性和值以避免 XSS 和类似攻击。

我从富文本编辑器(例如 TinyMCE)获取 html 代码,但它可能会以恶意方式发送,从而忽略 TinyMCE 验证(“数据提交表单异地”)。

有没有像 PHP 中的 InputFilter 这样简单易用的东西?我可以想象的完美解决方案是这样的(假设 sanitizer 封装在 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 类 - 对我来说是最好的。


怎么样?

最佳答案

你可以试试OWASP Java HTML Sanitizer .使用起来非常简单。

PolicyFactory policy = new HtmlPolicyBuilder()
.allowElements("a")
.allowUrlProtocols("https")
.allowAttributes("href").onElements("a")
.requireRelNofollowOnLinks()
.build();

String safeHTML = policy.sanitize(untrustedHTML);

关于java - 如何清理 Java 中的 HTML 代码以防止 XSS 攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com