MongoDB中的JavaScript NoSQL注入预防

如何防止JavaScript NoSQL注入MongoDB?

我正在研究Node.js应用程序,我将req.body(一个json对象)传递给mongoose模型的save函数.我认为幕后有保护措施,但事实并非如此.

解决方法:

注意
我的回答是不正确的.请参考其他答案.

当客户端程序在MongoDB中组装一个查询时,它会构建一个BSON对象,
不是一个字符串.因此传统的SQL注入攻击不是问题.

有关详细信息,请参阅documentation

UPDATE

避免表达像eval那样可以执行任意JS.如果您正在从用户那里获取输入并运行eval之类的表达而不清理输入,则可能会搞砸.正如JoBu1324所指出的那样,诸如where,mapReduce和group之类的操作允许直接执行JS表达式.

上一篇:javascript – 使用mongoose在MongoDB中批量插入


下一篇:javascript – Mongoose模式引用和未定义类型’ObjectID’