CNode

哪位大神能给解释下validator的xss函数和sanitize函数?

Sshinka发布于14 年前最后回复14 年前3 回复6010 浏览0 收藏

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

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

查看回复

回复 (3)

L
loethen#1·14 年前

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

D
DoubleSpout#2·14 年前

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

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

参与回复
登录后即可参与回复。登录