Tag: 消毒

如何在nodejs中检查数据againts xss?

我使用nodejs作为后端,并将数据存储在MongoDB中。 我感兴趣的是如何在保存到数据库之前检查包含数据的数据。 我需要检查像纯string: "some xss test" 和string的对象: { "name": "xss name", "age": 25 } 我应该使用什么库来完成我的任务?

我如何在节点js中清理我的input值?

我validation我的节点jsinput不会是空的,但我想清理input.Please帮我如何做到这一点? req.checkBody('name', 'Name is required!').notEmpty(); req.checkBody('surname', 'Surname is required!').notEmpty(); req.checkBody('username', 'Username is required!').notEmpty(); req.checkBody('password', 'Password is required!').notEmpty(); req.checkBody('password2', 'Passwords do not match!').equals(req.body.password); var errors = req.validationErrors(); if (errors) { res.render('user/register', { errors: errors, user: null, title: 'Register' }); } else { var userData = { name : req.body.name, surname : req.body.surname, username : req.body.username, password […]

消毒JSON是必要的吗?

我认为这是networking上一个众所周知的最佳做法,不相信任何input。 这句话 “所有的投入都是邪恶的。” 可能是inputvalidation方面引用最多的引用。 现在,对于HTML,您可以使用诸如DOMPurify之类的工具对其进行消毒。 我的问题是,如果我有一个运行Express和body-parser中间件的Node.js服务器来接收和parsingJSON,我是否还需要运行任何清理? 我的(也许天真?)的想法是,JSON只是数据,没有代码,如果有人发送无效的JSON,body-parser(内部使用JSON.parse() )将失败,所以我知道我的应用程序将接收一个有效的JavaScript对象。 只要我不运行eval或调用函数,我应该没事,不是吗? 我错过了什么吗?