java – 为什么jsoup删除内联样式表?
发布时间:2020-12-15 04:17:10 所属栏目:Java 来源:网络整理
导读:我使用jsoup保护我的应用程序免受XSS攻击.我得到所有的输入参数,并在那上做Jsoup.clean.但我有一个问题. 它删除所有内联样式表!为什么?我在我的应用程序中有一部分,用户可以编写文本并将其作为公告发布.他/她通过TinyMCE写他/她的文本,并在用户文本中添加
我使用jsoup保护我的应用程序免受XSS攻击.我得到所有的输入参数,并在那上做Jsoup.clean.但我有一个问题.
它删除所有内联样式表!为什么?我在我的应用程序中有一部分,用户可以编写文本并将其作为公告发布.他/她通过TinyMCE写他/她的文本,并在用户文本中添加一些html和样式表.在下面你可以看到tinymce创建的示例文本: 用户输入:居中对齐文本 可以看到Jsoup删除标签样式.我怎么能说它不删除简单的CSS? 解决方法
默认情况下,Whitelist类会删除样式,但您可以使用addAttributes(“p”,“style”)轻松修改此行为并添加样式支持.
Whitelist.relaxed().addAttributes("p","style"); 说明 这在清理时将元素p的属性样式设置为忽略.只有p的样式才会被删除! 验证码 只需复制粘贴此代码并从main调用. public static void main(String[] args) { String text = "<p style="text-align: center;">Center Aligned Text</p>"; String clean = Jsoup.clean(text,Whitelist.relaxed() .addAttributes("p","style")); System.out.println(clean); } 结果 <p style="text-align: center;">Center Aligned Text</p> 依赖 org.jsoup:jsoup:1.7.3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |