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

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

2.什么是jsoup?

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

3.如何使用jsoup?

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

重点重点重点(说三遍)

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

经验分享 程序员 微信小程序 职场和发展