脓肿注射?消毒inpu

2024-06-01 07:25:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想你知道sql注入吗,nosql也一样,称为orm注入。
我使用的是pymongo和mongodb,对于一个简单的find()和一个带有$regexp运算符的find,我有用户控制的输入。
如何“净化”这些输入?在


Tags: 用户sqlmongodborm运算符find净化nosql
1条回答
网友
1楼 · 发布于 2024-06-01 07:25:04

好吧,如果你说的是ORM注入,那么你说的是关系数据库系统,而不是真正意义上的MongoDB或NoSQL系统。 PyMongo不是ORM工具,因此不会进行ORM注入。在

MongoDB find操作不会修改或删除集合中的任何数据。所以使用不可信的输入是非常安全的。在

正如here所解释的,唯一可能发生的事情是,错误的查询可能会通过执行以下操作来降低系统的速度:

{"$where": "function() { for (var i=0; i<1000000; i++) {}; return true; }"}

这意味着您可以在代码中确保没有通过用户参数传递函数。在

相关问题 更多 >