Използвайте един от поддържаните драйвери. Не десериализирайте низове като 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
.