Adakah mysql_real_escape_string() dan mysql_escape_string() mencukupi untuk keselamatan apl?
Satu had mysql_real_escape_string() ialah ia hanya melarikan diri dari data berubah-ubah. Ia tidak berkesan terhadap serangan yang menyasarkan nama jadual, nama lajur atau LIMIT medan. Sebagai contoh, penyerang masih boleh menyuntik SQL berniat jahat ke dalam pertanyaan dengan menggunakan operator LIKE untuk mencari nilai seperti '%%', yang akan mengembalikan semua rekod.
Selain itu, mysql_real_escape_string() hanya berkesan terhadap serangan suntikan SQL yang diketahui. Ia tidak dapat melindungi daripada serangan baharu atau tidak diketahui yang mengeksploitasi kelemahan dalam pelayan pangkalan data.
Pernyataan yang disediakan sebagai pertahanan proaktif
Pernyataan yang disediakan ialah pertahanan proaktif terhadap suntikan SQL dan serangan lain, kerana ia direka untuk mengendalikan SQL dalam cara selamat. Mereka kurang terdedah kepada kelemahan dan memberikan tahap keselamatan yang lebih tinggi daripada melarikan diri.
Atas ialah kandungan terperinci Adakah `mysql_real_escape_string()` dan `mysql_escape_string()` Cukup untuk Melindungi Aplikasi Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!