哪位大神能给解释下validator的xss函数和sanitize函数?
发布于 12 年前 作者 shinka 5559 次浏览 最后一次编辑是 8 年前

我看到后天有不少sanitize(str).xss() 是不是意思就是对每个用户输入的参数都进行是否会造成xss攻击进行检查? 如果是感觉效率有点稍差啊

另外看源码对sanitize这个函数不太明白,说是起别名,用意是什么呢?

3 回复

去github上看这个中间件的用法, 主要就是对用户输入内容的转义吧,怕用户输入的内容被执行。 还有就是检测输入是否符合规范。

楼主太抬举我了,不敢当啊,刚刚去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);
}

楼主看到这里应该知道了吧

恩 我昨天也是看到这儿 当时没明白 今天好像有点明白了 谢咯

回到顶部