【发布时间】:2021-10-22 22:40:48
【问题描述】:
我正在尝试为我不起眼的 MERN 网络应用程序设置一些安全中间件,我目前正在使用头盔和 express-mongo-sanitize,专门用于防止 NoSQL 注入攻击。
不过,我已经在 server.js 文件中进行了如下设置:
const express = require('express')
const helmet = require('helmet')
const mongoSanitize = require('express-mongo-sanitize')
...
app.use(mongoSanitize())
app.use(helmet())
// Routes below
...
我尝试通过模拟注册来测试它:
用户名:{“$gt”:“”} 密码:'TestPassword'
所以 req.body 将是:
{
username: '{"$gt": ""}',
password: 'TestPassword'
}
但是 express-mongo-sanitize 似乎没有捕捉到它,它会进入我的数据库。我是不是误会了什么?用户名键的值是一个字符串,所以也许它已经可以了?请原谅我的无知,我正在学习。
【问题讨论】:
标签: javascript mongodb security sql-injection mern