2024-06-01 07:25:04 发布
网友
我想你知道sql注入吗,nosql也一样,称为orm注入。 我使用的是pymongo和mongodb,对于一个简单的find()和一个带有$regexp运算符的find,我有用户控制的输入。 如何“净化”这些输入?在
好吧,如果你说的是ORM注入,那么你说的是关系数据库系统,而不是真正意义上的MongoDB或NoSQL系统。 PyMongo不是ORM工具,因此不会进行ORM注入。在
MongoDB find操作不会修改或删除集合中的任何数据。所以使用不可信的输入是非常安全的。在
正如here所解释的,唯一可能发生的事情是,错误的查询可能会通过执行以下操作来降低系统的速度:
{"$where": "function() { for (var i=0; i<1000000; i++) {}; return true; }"}
这意味着您可以在代码中确保没有通过用户参数传递函数。在
好吧,如果你说的是ORM注入,那么你说的是关系数据库系统,而不是真正意义上的MongoDB或NoSQL系统。 PyMongo不是ORM工具,因此不会进行ORM注入。在
MongoDB find操作不会修改或删除集合中的任何数据。所以使用不可信的输入是非常安全的。在
正如here所解释的,唯一可能发生的事情是,错误的查询可能会通过执行以下操作来降低系统的速度:
这意味着您可以在代码中确保没有通过用户参数传递函数。在
相关问题 更多 >
编程相关推荐