3

我有以下代码检查集合中是否已存在用户输入的电子邮件:

MongoDatabase authdb = DatabaseManager.GetDatabase("authdb");
var userDocuments = authdb.GetCollection<UserDocument>(UserDocument.CollectionName);
var doc = userDocuments.FindOne(new QueryDocument("email", email));

我有点认为使用用户提供的值(电子邮件)为各种注入打开了机会,有点像 SQL 注入。这是一个真正的问题以及如何解决它?

4

2 回答 2

3

官方文档在这里。

http://www.mongodb.org/display/DOCS/Do+I+Have+to+Worry+About+SQL+Injection

于 2011-05-09T20:02:33.753 回答
1

正如文档所述,您需要注意的最大领域是 db.eval()。驱动程序的 .eval() 方法将被转换为等效的 javascript .eval 函数。在 javascript 中使用 .eval 时要格外小心,因为它会执行 () 中的代码。

于 2011-06-07T13:43:42.270 回答