Bolehkah mysql_real_escape_string() Mencegah Serangan Suntikan SQL dengan Sempurna?
Kebimbangan telah dibangkitkan mengenai keberkesanan mysql_real_escape_string() terhadap suntikan SQL dengan watak Asia tertentu pengekodan.
Isu Pintasan
Menurut sumber, mysql_real_escape_string() mungkin terdedah kepada memintas menggunakan pengekodan aksara Big5 atau GBK. Pengekodan ini membenarkan garis miring ke belakang muncul sebagai bait kedua, ketiga atau keempat, yang boleh mengganggu proses melarikan diri.
Strategi Mitigasi
Walaupun mysql_real_escape_string() mungkin tidak boleh dipercayai sepenuhnya dalam semua kes, terdapat langkah alternatif untuk mencegah SQL suntikan:
Sekiranya Ketiadaan Penyata Disediakan
Jika kenyataan yang disediakan bukan pilihan, pertimbangkan perkara berikut:
Kesimpulan
Walaupun mysql_real_escape_string() tidak sepenuhnya kalis gangguan, ia kekal sebagai alat yang berharga untuk mencegah suntikan SQL. Dengan melaksanakan strategi pengurangan tambahan, seperti pengekodan UTF-8 atau penapisan input, anda boleh mengurangkan risiko serangan berniat jahat dengan ketara.
Atas ialah kandungan terperinci Adakah mysql_real_escape_string() Menawarkan Perlindungan Lengkap Terhadap Serangan Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!