Memahami SQL Injections melalui addslashes()
addslashes() ialah fungsi PHP yang biasa digunakan untuk melepaskan aksara khas dalam rentetan untuk mengelakkan suntikan SQL serangan. Walau bagaimanapun, di sebalik niatnya, ia sebenarnya boleh memudahkan serangan sebegitu jarang berlaku.
Mari kita teliti contoh:
Senario: Seorang pengguna menyerahkan input "' ATAU 1=1 -- - " ke dalam medan teks.
addslash() akan menukar input kepada: "' OR 1=1 -- -", tetapi jika pengekodan pangkalan data berlaku untuk menyokong aksara berbilang bait seperti Shift-JIS, apostrof akan ditafsirkan sebagai sebahagian daripada aksara berbilang bait, dengan berkesan melemahkan pelarian yang dimaksudkan.
Oleh itu, pertanyaan SQL yang diubah suai akan kelihatan seperti: "'%OR 1=1 -- -"
Pertanyaan yang diubah ini berjaya melaksanakan suntikan SQL menyerang kerana apostrof tidak lagi dianggap sebagai urutan melarikan diri sebaliknya sebahagian daripada aksara berbilang bait.
Atas ialah kandungan terperinci Bolehkah addslashes() Benar-benar Mencegah Serangan Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!