如何防止将JavaScript NoSQL注入MongoDB?
我正在开发Node.js应用程序req.body
,并且将json对象(即json对象)传递到了mongoose模型的save函数中。我以为幕后有保障措施,但事实并非如此。
注意 我的答案不正确。请参考其他答案。
-
html" target="_blank">客户端程序在MongoDB中组装查询时,将构建BSON对象而不是字符串。因此,传统的SQL注入攻击不是问题。
有关详细信息,请遵循文档
更新
避免使用eval
可以执行任意JS的表达式。如果您从用户那里获取输入内容并且eval
像表达式一样运行而不清除输入内容,则可能会搞砸。正如JoBu1324所指出的那样where
,,mapReduce
和等操作group
允许直接执行JS表达式。
问题内容: 我通常在.NET中这样写我的SQL 然后执行以下操作: 但是,当我获得的数据直接来自数据库时,我也应该这样做addParameter吗? 这可以接受吗?什么是最佳做法? 问题答案: 您应该始终使用参数: 数据库中的值从哪里来? 在您的示例中,您可以相信’group_id’未被修改为您所不期望的吗? 信任任何人 具有有限数据库访问权限的人可以直接注入其他地方使用的字段吗? 表现 此外,它
本文向大家介绍PHP简单预防sql注入的方法,包括了PHP简单预防sql注入的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP简单预防sql注入的方法。分享给大家供大家参考,具体如下: 出现sql注入一般都是因为语法不规范不严谨造成的,问题出现在sql语句上,而起决定性的是quote(')。如下: 正常提交的话就是删除一条数据,若id提交的是(1 ' or 1 #),那么sql语
问题内容: 给定示例代码( Message 是一个Eloquent模型。): Eloquent是否使用参数化查询(如PDO)或任何其他机制来防止SQL注入? 问题答案: 对,但是… 是的,当您依赖内置的ORM功能时,它可以防止SQL注入。从文档: Laravel的数据库查询构建器为创建和运行数据库查询提供了方便,流畅的界面。它可用于在您的应用程序中执行大多数数据库操作,并可在所有受支持的数据库系统
我已经使用flapdoodle作为SpringBoot的嵌入式mongo。这工作很好,但我需要手动将数据放入其中。 对于mongo db的Junit测试,我使用nosqlunit。这与Fongo(假蒙哥)配合得非常好。它支持从json文件读取数据,并在启动期间用数据预填充数据库。但这只适用于junit,因为这是一个junit扩展。 我正在寻找的是上述两者的混合,一个嵌入式mongo,它不仅与JUn
本文向大家介绍解释Java MongoDB的预测,包括了解释Java MongoDB的预测的使用技巧和注意事项,需要的朋友参考一下 从MongoDb集合中检索数据时,您只能使用投影选择所需的数据。在Java中,您可以在使用projection()方法从集合中读取文档时投影必要的数据。在的结果上调用此方法,绕过所需的文件名的名称,如下所示: 示例 以下Java示例从集合中读取文档,使用投影,我们仅显
问题内容: 我是使用MEAN Stack构建应用程序的新手,我正在尝试构建实时聊天应用程序,这是我的服务器端: 我确定我创建了一个与mongodb聊天的数据库,mongo也正在等待连接。但是当我使用节点server.js运行服务器时,会发生错误: 在这个阶段,我被封锁了几个星期,有人可以帮忙吗? 谢谢。 问题答案: 这是因为您使用的连接字符串格式不正确。 您正在使用它应该是 连接字符串的模式是 供