Ответ 1
Используйте один из поддерживаемых драйверов. Не десериализуйте строки как 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
.