加载中...
DOMPurify 是一个专注于净化 HTML 的前端安全库,能在保留合法标签与样式的同时,剔除脚本、事件属性等危险内容。它是渲染富文本、防御 XSS 攻击的常用工具。

| 类型 | HTML 净化库 |
| 主要作用 | 防御 XSS |
| 净化原理 | DOM 白名单 |
| 运行环境 | 浏览器/服务端 |
| 常配合 | 富文本、CSP |
DOMPurify是一个开源的 HTML 净化库,用于在浏览器或服务端把不受信任的 HTML 清洗成安全内容。它在保留正常标签、属性和样式的同时,剔除脚本、危险事件属性和可执行的伪协议,是防御跨站脚本攻击的常用工具。
当网页需要展示用户提交的富文本(如评论、文章、消息)时,若直接把这段 HTML 插入页面,就可能夹带恶意脚本导致 XSS。手工用正则过滤既不可靠又容易被绕过。DOMPurify 的思路是借助浏览器自身的解析能力,把输入解析成 DOM 树,再按一份严格的白名单逐节点检查,删去不允许的标签与属性,最后输出净化后的安全 HTML。
DOMPurify 广泛用于富文本编辑器的内容展示、Markdown 转 HTML 后的输出、站内消息和评论渲染,以及任何需要把外部 HTML 插入页面的场合。许多前端框架在需要绕过默认转义、直接渲染 HTML 时,都会先经它净化。它也可在服务端环境配合无头 DOM 使用,对入库前的内容做统一清洗。
问:有了净化库还需要 CSP 吗?答:两者互补。净化库负责清洗要渲染的内容,内容安全策略则从资源加载层面兜底。纵深防御同时使用两者,能显著降低 XSS 风险。
问:净化会破坏正常样式吗?答:默认配置会保留常见的安全标签和内联样式,但可能剔除少数被判定为危险的写法。若发现合法内容被误删,可在确保安全的前提下调整白名单配置。

| 类型 | HTML 净化库 |
| 主要作用 | 防御 XSS |
| 净化原理 | DOM 白名单 |
| 运行环境 | 浏览器/服务端 |
| 常配合 | 富文本、CSP |
登录 后参与讨论
暂无讨论,来发表第一条评论吧