传入 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 库。