Apabila menguji kod yang berinteraksi dengan pangkalan data, adalah penting untuk menghalang serangan suntikan SQL dengan melepaskan input pengguna dengan betul. Walau bagaimanapun, menyambung ke pangkalan data untuk setiap ujian boleh menjadi tidak cekap. Adakah terdapat cara untuk melepaskan rentetan tanpa sambungan pangkalan data yang aktif?
Malangnya, adalah mustahil untuk melepaskan rentetan tanpa sambungan pangkalan data dengan pasti. Kedua-dua mysql_real_escape_string() dan pernyataan yang disediakan bergantung pada pengetahuan pangkalan data tentang set aksara yang digunakan. Tanpa maklumat ini, adalah mungkin untuk mencipta jujukan aksara berbilang bait yang memintas mekanisme melarikan diri dan membawa kepada kelemahan suntikan SQL.
Jika matlamat anda adalah semata-mata menguji, anda boleh pertimbangkan untuk menggunakan mysql_escape_string() untuk kelajuan dan kesederhanaannya. Walaupun ia tidak selamat sepenuhnya, ia tidak mungkin dieksploitasi dalam persekitaran ujian. Walau bagaimanapun, ambil perhatian bahawa ini tidak disyorkan untuk kod pengeluaran.
Walaupun tergoda untuk mencari jalan untuk melepaskan rentetan tanpa sambungan pangkalan data, ia sebenarnya tidak boleh dilaksanakan. Satu-satunya cara untuk menjamin integriti data ialah menggunakan teknik melarikan diri yang betul bersama-sama dengan sambungan pangkalan data.
Atas ialah kandungan terperinci Bolehkah Anda Melepaskan Rentetan untuk Keselamatan Pangkalan Data Tanpa Sambungan DB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!