node.js - 关于快速验证的几个问题

标签 node.js validation express

我有一些关于 Node 输入验证的问题,也许有一些概念我只是误解并且需要澄清。我目前正在使用快速验证器。

我目前有类似的东西:

function validate(req) {
req.assert('name', 'Please enter a name').notEmpty()
req.assert('email', 'Please enter an email').notEmpty()

var errors = req.validationErrors();
return errors;
};

app.post('/contactform', function(req, res){
var err = validate(req);

   if (!err) {
        res.send('everything is good to go')
   } else {
       res.send(err)
   }
});

我了解验证部分,但是一旦我清理了这些信息,我该如何实际使用它?

我尝试过类似的东西

var email = req.sanitize('email').toString()

但这只是给了我一个[object object]

所以我有几个问题:

  1. 我实际上如何使用经过净化的字符串?或者 Express-validator 模块只是验证/清理,而我需要做其他事情才能真正能够使用清理后的输出?
  2. 此外,在验证安全性之前是否应该对输入进行清理?

编辑: 所以我查看了express-validator的源代码,发现参数存储为 req.param('name')req.param('email')。我假设如果您清理和/或验证参数然后访问它们,您将收到清理后的版本。这回答了我的第一个问题,仍然对有关一般安全的第二个问题感到好奇。

最佳答案

我使用 trim() 链接到 sanitize():

var str = req.sanitize('input').trim();

关于node.js - 关于快速验证的几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764494/

相关文章:

javascript - 使用 Nest 设置两个不同的静态文件夹

javascript - Body-parser 不适用于 typescript ,当我发送请求时,我在 request.body 中得到一个未定义的

javascript - Passport.js验证总是失败

scala - 如何使用 Scala 验证 Vaadin 中的表中的字段

Java - 验证运算符

javascript - 错误 : Illegal arguments: undefined, 字符串

javascript - Express 中的动态路由, "Cannot read property ' concat' of undefined”错误

node.js - 使用 JWT 管理多个设备 Node js 的用户 session

node.js - 我如何使用axios和cheerio实现多页面抓取

javascript - 使用 jquery 验证克隆的复选框和单选按钮