gpt4 book ai didi

java - SafeHtml Bean 验证,允许 HTML 元素属性,同时拒绝可能的恶意标签(即 <script>...)

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:41 25 4
gpt4 key购买 nike

我有一个基于 Java 的后端,我在其中使用 Hibernate 进行一些更具体的 bean 验证,即:@SafeHtml。它可以很好地满足我 99% 的需求,但是我有一个部分允许用户输入基本 HTML 来创建他们自己的页面,我需要在这里减少限制。

我的问题是我想限制某些类型的 HTML 元素(即 '' 标签等...),同时允许我认为合适的 HTML 元素的属性(即 )。据我所知,@SafeHtml 不允许任何属性,除非明确定义如下:

@SafeHtml ( 
whitelistType = WhiteListType.RELAXED,
additionalTagsWithAttributes = {
@Tag(name = "div", attributes = {"class", "style"},
@Tag(name = "anotherTag", attributes = {"id", "anotherAttribute"}

}
)

希望您能看到这个问题,即使是一小部分标签,并且启用了它们的属性,也会非常冗长和浪费,更不用说很容易错过所有标签和属性的东西。

所以...我的问题是:有更好的方法吗?看起来它不应该是唯一的情况:即您想要验证 HTML 的用户输入,但只想拒绝脚本标记...

最佳答案

没有其他 WhiteListType 类型更适合您吗?如果没有,并且您认为@SafeHtml的配置很麻烦,您可以随时手动滚动您自己的@MySafeHtml。此自定义约束在幕后也可以使用 JSoup 或您认为适合您的特定用例的任何其他方式。

关于java - SafeHtml Bean 验证,允许 HTML 元素属性,同时拒绝可能的恶意标签(即 &lt;script&gt;...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38316110/

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