js-xss 白名单过滤工具库

传入 html 文本进行过滤,返回过滤后的文本。

安装

https://www.npmjs.com/package/xss

npm i xss

使用

传入 html 文本进行过滤,返回过滤后的文本。

import xss from 'xss'

const html = xss('<script>alert("xss");</scr' + "ipt>");
console.log(html)

它内部也有很多暴露出来的方法,比如针对某个标签的属性进行过滤,如过滤 href 安全地址;

const url = safeAttrValue('a', 'href', value);

与 DOMPurify 比较

默认会过滤掉很多标签和属性,如需定制白名单显示的内容,需要手动维护白名单列表,也比较麻烦。如需要在前端过滤时尽可能还原效果,优先使用 DOMPurify。

js-xss 优点是 Node.js 比较易于使用,比起 DOMPurify ,无需引入 jsdom 库。

本文收录于专栏
收集一些好用的前端开源库,主要是 npm 包