Walaupun anda menggunakan mysql_real_escape_string (), suntikan SQL masih boleh berlaku
Walaupun biasanya dipercayai bahawa mysql_real_escape_string () boleh mencegah suntikan SQL, dalam kes -kes tertentu, suntikan SQL mungkin masih berlaku. Berikut ini menerangkan bagaimana serangan ini berlaku:
Tetapkan set aksara pelayan untuk membolehkan cerun belakang ASCII (0x5c) dan set aksara watak multi -garis yang tidak sah (contohnya, GBK). Ini boleh dilaksanakan melalui pernyataan Nama Set.
Buat beban yang berkesan bermula dengan 0xbf27. Dalam set aksara yang ditentukan (contohnya, GBK), ini bermakna watak multi -garis yang tidak sah yang akan ditukar kepada 0x27 (skimp) dalam Latin1.
Ia akan berkesan untuk menjadi sah kepada 0x5c27. Walau bagaimanapun, kerana pelanggan masih percaya bahawa ia menggunakan Latin1, backslash (0x5c) masih tidak menguntungkan.
Melegakan langkah -langkah:
Lumpuhkan penyataan pra -pemprosesan simulasi dalam PDO.
syarat -syarat berikut disahkan:Atas ialah kandungan terperinci Bolehkah suntikan SQL masih berlaku walaupun dengan `mysql_real_escape_string ()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!