MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

wstrzyknięcie mongoDB

Użyj jednego z obsługiwanych sterowników. Nie deserializuj stringów jako JSON i nie przekazuj ich jako zapytania, np. nie rób tego (w Rubim):

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

gdzie query_type i parameters to ciągi pochodzące z formularza. Jednak musiałbyś być kryminalnie głupi, żeby to zrobić.

Ponieważ nie ma języka zapytań jako takiego, nie ma tego samego miejsca na wstrzykiwanie. Jednym z powodów, dla których możliwe są ataki typu SQL injection, jest to, że należy podjąć działanie (SELECT , UPDATE , DELETE itp.) jest częścią ciągu zapytania. MongoDB i wiele innych nowszych baz danych nie działa w ten sposób, zamiast tego akcja jest częścią API. Gdzie sterowniki SQL mają tylko query aw niektórych przypadkach exec , MongoDB ma find , update , insert i remove .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zaktualizować zagnieżdżoną tablicę?

  2. MapReduce przy użyciu sterownika Java MongoDB kończy się niepowodzeniem z powodu nieprawidłowego typu asercji BSONElement

  3. Wypełnianie tylko określonych pól w manguście

  4. Nie można uzyskać własności z obiektu mangusty

  5. Utknąłem w ładowaniu z mangustą?