根据白名单过滤HTML(防止XSS攻击)

 

特性:

  • 白名单控制允许的HTML标签及各标签的属性
  • 通过自定义处理函数,可对任意标签及其属性进行处理

 

NPM version build status Test coverage David deps node version npm download npm license

 

快速入门 在线测试 项目源码

XSS是一个用于对用户输入的内容进行过滤,以避免遭受XSS攻击的模块 (什么是XSS攻击?)。主要用于论坛、博客、网上商店等等一些可允许用户录入页面排版、 格式控制相关的HTML的场景,xss模块通过白名单来控制允许的标签及相关的标签属性, 另外还提供了一系列的接口以便用户扩展,比其他同类模块更为灵活。

在Node.js上使用

安装:

$ npm install xss --save

使用:

var xss = require('xss');
console.log(xss('<a href="#" onclick="alert(/xss/)">click me</a>'));

在浏览器上使用

引入文件:

https://raw.github.com/leizongmin/js-xss/master/dist/xss.js

使用:

console.log(filterXSS('<a href="#" onclick="alert(/xss/)">click me</a>'));