Rumah > pangkalan data > tutorial mysql > Adakah `mysql_real_escape_string()` adalah Pertahanan yang Boleh Dipercayai Terhadap Suntikan SQL dalam Semua Pengekodan Aksara?

Adakah `mysql_real_escape_string()` adalah Pertahanan yang Boleh Dipercayai Terhadap Suntikan SQL dalam Semua Pengekodan Aksara?

Mary-Kate Olsen
Lepaskan: 2024-12-01 03:21:17
asal
259 orang telah melayarinya

Is `mysql_real_escape_string()` a Reliable Defense Against SQL Injection in All Character Encodings?

Adakah mysql_real_escape_string() Perisai Kekal Terhadap Suntikan SQL?

Bahagian di justinshattuck.com mencadangkan bahawa mysql_real_escape_string tertentu() Pengekodan aksara Asia. Secara khusus, ia mendakwa bahawa pengekodan memintas mysql_real_escape_string() menggunakan BIG5 atau GBK untuk menyeludup aksara berbahaya ke dalam pertanyaan.

Adakah Kerentanan Ini Nyata?

Menurut Stefan Esser, jawapannya adalah ya yang membingungkan. Dia mendakwa bahawa mysql_real_escape_string() goyah apabila SET NAMES digunakan. Kaedah ini menukar pengekodan untuk memenuhi keperluan aplikasi tanpa memaklumkan mysql_real_escape_string(). Akibatnya, jika pengekodan berbilang bait membenarkan garis miring ke belakang sebagai bait kedua, ketiga atau keempat, masalah akan berlaku. Mysql_real_escape_string() tetap tidak menyedari ketidakteraturan ini dan gagal melepaskan aksara dengan betul.

Melindungi Tapak Web Anda

Esser mencadangkan bahawa UTF-8 kekal sebagai pengekodan yang selamat, tetapi UTF -8 tidak selalu menjadi pilihan. Malangnya, mysql_set_charset, alternatif yang lebih selamat, hanya tersedia dalam versi PHP terkini.

Atas ialah kandungan terperinci Adakah `mysql_real_escape_string()` adalah Pertahanan yang Boleh Dipercayai Terhadap Suntikan SQL dalam Semua Pengekodan Aksara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan