Rumah > pembangunan bahagian belakang > tutorial php > Bolehkah addslashes() Benar-benar Mencegah Serangan Suntikan SQL?

Bolehkah addslashes() Benar-benar Mencegah Serangan Suntikan SQL?

Barbara Streisand
Lepaskan: 2024-12-01 15:10:11
asal
880 orang telah melayarinya

Can addslashes() Really Prevent SQL Injection Attacks?

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!

sumber:php.cn
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