MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Seberapa berbahayakah kueri mongo yang diumpankan langsung dari string kueri URL?

Sejauh injeksi menjadi masalah, seperti halnya SQL, risikonya jauh lebih rendah... meskipun secara teori dimungkinkan melalui vektor serangan yang tidak diketahui.

Struktur dan protokol data adalah biner dan berbasis API daripada memanfaatkan nilai yang lolos dalam bahasa khusus domain. Pada dasarnya, Anda tidak bisa hanya mengelabui parser untuk menambahkan ";db.dropCollection()" di akhir.

Jika hanya digunakan untuk kueri, mungkin tidak masalah... tapi saya tetap mengingatkan Anda untuk menggunakan sedikit validasi:

  • Pastikan hanya karakter alfanumerik (filter atau batalkan null dan hal lain yang biasanya tidak Anda terima)
  • Terapkan panjang maksimum (seperti 255 karakter) per istilah
  • Terapkan panjang maksimal seluruh kueri
  • Strip khusus nama parameter dimulai dengan "$", seperti "$where" &semacamnya
  • Jangan izinkan array/dokumen/hash bersarang... hanya string &int

Juga, perlu diingat, kueri kosong mengembalikan semuanya. Anda mungkin menginginkan batasan pada nilai pengembalian itu. :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bug mongoid mengembalikan dokumen pertama saat memanggil terakhir?

  2. sistem percakapan mongodb

  3. Bagaimana cara menyimpan banyak koleksi mongodb menggunakan Promise?

  4. tidak dapat memulai mongo db, pengecualian initandlisten

  5. Paging yang efisien di MongoDB menggunakan mgo