任何人都知道Javascript中的实体库/函数来清理用户输入

arn*_*rhs 12 javascript xss node.js

你们知道Javascript中的一个可靠的库/函数来清理用户输入吗?

主要用于防止XSS攻击和排序.

如果所述库可以选择允许某些标签等,那将是一个加号.

编辑:我在后端使用node.js.这就是为什么我需要一个javascript库来做这种事情.

人们在这里推荐Google Caja的一部分: 在Node.js /服务器端javascript中预防XSS

但我只是希望得到更多的选择.

Bag*_*ggz 13

我使用节点验证通过chriso.

var check = require('validator').check,
    sanitize = require('validator').sanitize

// Validate
check('test@email.com').len(6, 64).isEmail();       //Methods are chainable
check('abc').isInt();                               //Throws 'Invalid integer'
check('abc', 'Please enter a number').isInt();      //Throws 'Please enter a number'
check('abcdefghijklmnopzrtsuvqxyz').is(/^[a-z]+$/);

// Sanitize / Filter
var int = sanitize('0123').toInt();                  //123
var bool = sanitize('true').toBoolean();             //true
var str = sanitize(' \s\t\r hello \n').trim();      //'hello'
var str = sanitize('aaaaaaaaab').ltrim('a');        //'b'
var str = sanitize(large_input_str).xss();
var str = sanitize('&lt;a&gt;').entityDecode();     //'<a>'
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,从validator.js的v3开始,不推荐使用xss()方法.Chris(validator.js的作者)现在建议人们使用Google的Caja库.更多信息可以在这里找到:https://github.com/chriso/validator.js/commit/2d5d6999541add350fb396ef02dc42ca3215049e (2认同)