MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

injection mongoDB

Utilisez l'un des pilotes pris en charge. Ne désérialisez pas les chaînes en tant que JSON et ne les transmettez pas en tant que requêtes, par ex. ne faites pas ça (en Ruby):

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

query_type et parameters sont des chaînes provenant d'un formulaire. Il faudrait être criminellement stupide pour faire ça.

Puisqu'il n'y a pas de langage de requête en tant que tel, il n'y a pas la même place pour l'injection. Une partie de la raison pour laquelle les attaques par injection SQL sont possibles est que l'action à entreprendre (SELECT , UPDATE , DELETE , etc.) fait partie de la chaîne de requête. MongoDB et de nombreuses autres bases de données plus récentes ne fonctionnent pas comme ça, mais l'action fait partie de l'API. Où les pilotes SQL n'ont que query et dans certains cas exec , MongoDB a find , update , insert et remove .