Предотвращение внедрения кода с помощью драйвера c # для MongoDB - PullRequest
2 голосов
/ 09 мая 2011

У меня есть следующий код, который проверяет, существует ли введенное пользователем электронное письмо в коллекции:

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

Мне мало того, что использование значения (электронной почты), предоставленного пользователем, открывает возможность для своего рода инъекций, вроде SQL-инъекций. Это реальная проблема и как к ней подойти?

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Официальные документы здесь.

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

1 голос
/ 07 июня 2011

Как указано в документации, самая большая область, на которую нужно обратить внимание, это db.eval (). Метод .eval () для драйвера будет переведен в эквивалентную функцию javascript .eval. Вы хотите быть особенно осторожными при использовании .eval в javascript, потому что он выполняет код в ().

...