关于消除不受信任的HTML(来防止XSS攻击)

1.什么是消除不受信任的HTML(来防止XSS攻击)?

引用 关于消除不受信任的HTML(来防止XSS攻击)

2.什么是jsoup?

jsoup 是一个用于处理实际HTML的Java库。它使用HTML5最佳DOM方法和CSS选择器,为提取URL以及提取和处理数据提供了非常方便的API。
jsoup实现 WHATWG HTML5 规范,并将HTML解析为与现代浏览器相同的DOM。
从URL,文件或字符串中抓取并解析HTML
使用DOM遍历或CSS选择器查找和提取数据
处理HTML元素,属性和文本
根据安全的白名单清除用户提交的内容,以防止XSS攻击
输出整洁的HTML
jsoup旨在处理野外发现的所有各种HTML;从原始和验证到无效的标签汤;jsoup将创建一个明智的解析树。
关于消除不受信任的HTML(来防止XSS攻击)

3.如何使用jsoup?

3.1jsoup的方法
截图来源
关于消除不受信任的HTML(来防止XSS攻击)
3.2主要使用clean方法,使用Whitelist对输入的Html字符串过滤,只允许特定的标签或者属性,防止恶意代码。
示例:如下图,将前端传入的值通过Jsoup.clean()方法以及需要过滤的白名单规则进行过滤和只保留whitelist允许的标签和属性。
注:
1.Whitelist包含几种过滤模式:none、basic、simpleText、basicWithImages、relaxed,具体过滤规则请参考:
2.这个没有提供baseUri这个参数,即没有提供将相对路径转换为绝对路径的功能。
3.Document.OutputSettings:文档的输出设置,控制精细打印
关于消除不受信任的HTML(来防止XSS攻击)
关于消除不受信任的HTML(来防止XSS攻击)
关于消除不受信任的HTML(来防止XSS攻击)

重点重点重点(说三遍)

我们在开发过程中如果遇到需要前端使用富文本编辑传值时,采用Jsoup.clrean()方法来防止XSS攻击。

关于消除不受信任的HTML(来防止XSS攻击)