Gunakan salah satu driver yang didukung. Jangan deserialize string sebagai JSON dan berikan sebagai kueri, mis. jangan lakukan ini (di Ruby):
collection.send(query_type, JSON.parse(parameters))
di mana query_type
dan parameters
adalah string yang berasal dari suatu bentuk. Anda harus benar-benar bodoh untuk melakukan ini.
Karena tidak ada bahasa kueri, maka tidak ada ruang yang sama untuk injeksi. Sebagian alasan mengapa serangan injeksi SQL dimungkinkan adalah karena tindakan yang harus diambil (SELECT
, UPDATE
, DELETE
, dll.) adalah bagian dari string kueri. MongoDB, dan banyak database baru lainnya, tidak berfungsi seperti itu, sebaliknya tindakannya adalah bagian dari API. Di mana driver SQL hanya memiliki query
dan dalam beberapa kasus exec
, MongoDB memiliki find
, update
, insert
dan remove
.