Используйте один из поддерживаемых драйверов. Не десериализуйте строки как JSON и не передавайте их как запросы, например, не делайте этого (в Ruby):
collection.send(query_type, JSON.parse(parameters))
, где query_type
и parameters
- строки из формы. Вы должны быть преступно глупы, чтобы сделать это, хотя.
Поскольку нет языка запросов как такового, нет места для инъекции. Одна из причин, по которой возможны атаки SQL-инъекций, заключается в том, что действие (SELECT
, UPDATE
, DELETE
и т. Д.) Является частью строки запроса. MongoDB и многие другие более новые базы данных не работают таким образом, вместо этого действие является частью API. Где драйверы SQL имеют только query
, а в некоторых случаях exec
, MongoDB имеет find
, update
, insert
и remove
.