首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MongoDB db.find()和Express4.0 req.params的安全性

使用MongoDB db.find()和Express4.0 req.params的安全性
EN

Stack Overflow用户
提问于 2015-11-17 11:03:50
回答 1查看 271关注 0票数 0

使用db.find()方法通过传递req.params对象来构建MongoDb查询安全吗?

有什么安全问题吗?

示例:

代码语言:javascript
复制
app.get('/trip/:id', function(req, res) {
    Trip.find(req.params, function(err, user) {
        if(err) return err;
        return res.json({ user);
    });
});

假设params对象确实包含id值,它将如下所示:

代码语言:javascript
复制
{ id: '564a8e0cdc41d7736c70df0a' }

在这样做的时候,MongoDb有什么安全问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-19 20:07:10

数据库查询的安全性问题与您给予查询多大自由度以及查询返回多少信息有关。如果你是通过id来查找一个项目,那么就通过id来检查它,如果你是通过另一个键来查找它,那么就通过那个键来检查它。

这并不局限于mongodb,但同样适用,只要确保你的lint响应不会抛出多余的信息即可。根据我的经验,mongodb不会比其他数据库面临更多的查询滥用风险。

我希望通过您提供的代码,我不能访问/users/:id并丢弃整个文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33748432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档