Bagaimanakah mysql_real_escape_string() Melepasi addslashes() dalam Melawan Suntikan SQL?

Barbara Streisand
Lepaskan: 2024-10-21 13:20:31
asal
904 orang telah melayarinya

How Does mysql_real_escape_string() Surpass addslashes() in Combatting SQL Injection?

Menyingkap Ciri-ciri Tersendiri mysql_real_escape_string() Beyond addslashes()

Walaupun addslashes() berfungsi untuk melepaskan aksara khas, ia gagal dalam menyediakan perlindungan menyeluruh terhadap Serangan suntikan SQL. Sebaliknya, mysql_real_escape_string() menawarkan keselamatan yang dipertingkatkan dengan menangani rangkaian aksara bermasalah yang lebih luas.

Secara khusus, mysql_real_escape_string() menambah garis miring pada aksara berikut:

\x00, \n, \r, \, ', " and \x1a.
Salin selepas log masuk

Set aksara yang dipertingkatkan ini memastikan bahawa bukan sahaja petikan tunggal dan berganda terlepas, seperti addslashes(), tetapi juga watak lain yang berpotensi berniat jahat dinetralkan.

Untuk menggambarkan perbezaan ini, pertimbangkan contoh berikut:

$string = "' OR 1=1";

$addslashes_example = addslashes($string); // Escapes only single and double quotes
$mysql_rescape_example = mysql_real_escape_string($string); // Escapes single, double, and \x1a characters

echo $addslashes_example; // Outputs: \' OR 1=1
echo $mysql_rescape_example; // Outputs: \' OR 1=1\'
Salin selepas log masuk

Seperti yang ditunjukkan, mysql_real_escape_string() menyediakan perlindungan yang lebih teguh dengan menghalang pelaksanaan serangan suntikan SQL yang dibuat, manakala addslashes() menyebabkan sistem terdedah. Adalah penting untuk mengakui bahawa kedua-dua mysql_real_escape_string() dan addslashes() telah ditamatkan dan tidak lagi disyorkan untuk digunakan. Sebaliknya, pertanyaan berparameter harus digunakan untuk interaksi pangkalan data yang selamat dan cekap.

Atas ialah kandungan terperinci Bagaimanakah mysql_real_escape_string() Melepasi addslashes() dalam Melawan Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!