sql >> Databáze >  >> NoSQL >> MongoDB

injekce mongoDB

Použijte jeden z podporovaných ovladačů. Nedeserializujte řetězce jako JSON a nepředávejte je jako dotazy, např. nedělej to (v Ruby):

collection.send(query_type, JSON.parse(parameters))

kde query_type a parameters jsou řetězce pocházející z formy. Museli byste být ale kriminálně hloupí, abyste to udělali.

Protože neexistuje žádný dotazovací jazyk jako takový, není zde stejný prostor pro injekci. Jedním z důvodů, proč jsou možné útoky SQL injection, je to, že akce, kterou je třeba provést (SELECT , UPDATE , DELETE , atd.) je součástí řetězce dotazu. MongoDB a mnoho dalších novějších databází takto nefunguje, místo toho je akce součástí API. Kde ovladače SQL mají pouze query a v některých případech exec , MongoDB má find , update , insert a remove .



  1. Spring Data MongoDB:Převod BigInteger na ObjectId

  2. NodeJS + Mongo - jak získat obsah sbírky?

  3. Meteor:neočekávaný výstupní kód mongo null. Restartování. co to je?

  4. Zabraňte Mongoose ve vytváření vlastnosti _id pro položky pole vnořených dokumentů