我看到后天有不少sanitize(str).xss() 是不是意思就是对每个用户输入的参数都进行是否会造成xss攻击进行检查? 如果是感觉效率有点稍差啊
另外看源码对sanitize这个函数不太明白,说是起别名,用意是什么呢?
3 回复
楼主太抬举我了,不敢当啊,刚刚去cnode源码逛了下,看到如下代码:
文件nodeclub / controllers / reply.js
var sanitize = require('validator').sanitize;
发现cnode加载了validator模块,然后 npm install validator 模块,在 validator/lib/index.js 发现如下代码:
exports.Filter = require('./filter').Filter;
exports.sanitize = exports.convert = function(str) {
var filter = new exports.Filter();
return filter.sanitize(str);
}
打开filter.js,我们可以看到:
Filter.prototype.convert = Filter.prototype.sanitize = function(str) {
this.str = str;
return this;
}
Filter.prototype.xss = function(is_image) {
this.modify(xss.clean(this.str, is_image));
return this.wrap(this.str);
}
楼主看到这里应该知道了吧