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

Kueri $regex MongoDB dan potensi eksploitasi

Perasaan saya yang cukup pribadi mengatakan:Jangan repot-repot. Tetapi sekali lagi, jika Anda tetap melakukannya atau bahkan harus melakukannya, berikut adalah beberapa saran tentang cara menangani persyaratan ini:

  1. Anda dapat menentukan waktu maksimum untuk menjalankan kueri menggunakan maxTimeMS() .
  2. Anda dapat mencoba membersihkan input regex tetapi saya ragu bahwa ada perpustakaan di luar sana yang akan membantu Anda dengan itu mengingat variasi tak berujung dari kueri kompleks yang berpotensi berjalan lama. Membatasi panjang regex mungkin juga membantu, tetapi di sisi lain mungkin menggagalkan tujuan memungkinkan pengguna menelusuri dengan mudah menggunakan filter arbitrer.
  3. Anda dapat menyediakan input kueri yang lebih terstruktur, mis. hanya izinkan pengguna untuk memasukkan satu teks alfanumerik yang kemudian akan Anda bungkus dalam regex di sisi server untuk memungkinkan mis. kueri "dimulai dengan", "berisi" atau "diakhiri dengan" atau semacamnya.
  4. Anda dapat mengizinkan satu kueri paralel tunggal per pengguna (sesi? ip?) saja yang mungkin akan sedikit membantu melawan serangan DoS yang fatal tetapi tentu saja tidak terhadap yang terdistribusi... Atau Anda bahkan dapat mengizinkan hanya satu panggilan paralel tunggal itu titik akhir di seluruh sistem.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. dokumen tertanam vs tipe data hash di mongoid

  2. bagaimana cara menghubungkan mongoDB ke server?

  3. Bagaimana saya bisa menemukan dokumen serupa di MongoDB?

  4. Gagal terhubung ke server mongodb jarak jauh

  5. Bisakah mongo melakukan autoremove koleksi?