MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Колко опасна е mongo заявка, която се подава директно от URL низ на заявка?

Що се отнася до проблема с инжектирането, както при SQL, рискът е значително по-нисък... макар и теоретично възможен чрез неизвестен вектор на атака.

Структурите на данните и протоколът са двоични и се управляват от API, вместо да използват екранирани стойности в рамките на специфичен за домейн език. По принцип не можете просто да подмамите анализатора да добави ";db.dropCollection()" в края.

Ако се използва само за заявки, вероятно е добре... но все пак бих ви предупредил да използвате малко проверка:

  • Уверете се, че използвате само буквено-цифрови знаци (филтрирайте или обезсилете нули и всичко друго, което обикновено не бихте приели)
  • Налагане на максимална дължина (например 255 знака) на термин
  • Налагане на максимална дължина на цялата заявка
  • Специална лента имена на параметри, започващи с "$", като "$where" и подобни
  • Не позволявайте вложени масиви/документи/хешове... само низове и int

Освен това имайте предвид, че празна заявка връща всичко. Може да искате ограничение на тази върната стойност. :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB индекс за търсене на пълен текст:грешка:твърде много текстов индекс за, защо?

  2. Как мога да намаля етапите на размотаване в тръбопровода за агрегиране за вложени документи?

  3. MongoDB израз за запитване към масив от поддокументи

  4. Проблем с MongoDB GridFS запазване на файлове с Node.JS

  5. MongoDB дата в часовата зона