Dalam pembangunan PHP, selalunya perlu menambah aksara melarikan diri semasa penghantaran atau penyimpanan data untuk mengelakkan suntikan SQL dan serangan dan salah operasi lain. Fungsi addslashes() ialah fungsi watak melarikan diri klasik. Artikel ini akan memperkenalkan fungsi addslashes(), cara menggunakannya dan perkara yang perlu diberi perhatian.
1. Fungsi addslashes() function
Fungsi addslashes() adalah untuk menambah backslash pada rentetan yang ditentukan untuk melepaskan beberapa aksara khas. Watak istimewa ini termasuk petikan tunggal ('), petikan berganda ("), sengkang ke belakang () dan NULL (NUL). Sintaks fungsi
addslashes() adalah seperti berikut:
string addslashes ( string $str )
Salin selepas log masuk
Parameter $str
mewakili rentetan yang perlu ditambah garis miring ke belakang. Berikut ialah contoh mudah:
Outputnya ialah:
<?php
$str = "I'm a developer.";
echo addslashes($str);
?>
Salin selepas log masuk
Seperti yang anda boleh lihat, fungsi addslashes() mendahului petikan tunggal dalam rentetan Garis serong ke belakang ditambah Jika tiada aksara lain sebelum petikan tunggal, tidak perlu menambah garis miring ke belakang Secara amnya, kita perlu menggunakan fungsi addslashes() untuk melepaskan data sebelum menyimpannya dalam pangkalan data Berikut ialah contoh menyimpan nama pengguna dan kata laluan:
I\'m a developer.
Salin selepas log masuk
Kod di atas menggunakan addslashes() berfungsi untuk melepaskan nama pengguna dan kata laluan dan menyimpannya dalam pangkalan data ini boleh mengelakkan suntikan SQL, dll. Serangan
3. fungsi menyediakan kaedah asas untuk melarikan aksara, ia juga mempunyai beberapa isu yang perlu diberi perhatian 🎜>
1 Fungsi addslashes() tidak dapat menghalang suntikan SQL sepenuhnya
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$username_esc = addslashes($username);
$password_esc = addslashes($password);
// SQL insert语句
$sql = "INSERT INTO users (username, password) VALUES ('$username_esc', '$password_esc')";
?>
Salin selepas log masuk
Walaupun addslashes() fungsi boleh menghalang serangan suntikan SQL pada tahap tertentu, ia masih tidak dapat menjamin keselamatan yang lengkap dalam pembangunan sebenar langkah keselamatan lain perlu diambil, seperti menggunakan pernyataan yang disediakan PDO, menggunakan pengikatan parameter, dsb. Fungsi addslashes() hanya berfungsi dengan petikan tunggal dan petikan berganda
fungsi addslashes() Hanya petikan tunggal dan petikan berganda boleh dilepaskan jika anda perlu melarikan diri daripada aksara khas lain, seperti garis miring ke belakang, anda boleh menggunakan fungsi lain dalam PHP:
3. fungsi addslashes() dan magic_quotes_gpc Berkaitan
Sebelum PHP 4.3.0, terdapat pilihan konfigurasi global yang dipanggil magic_quotes_gpc akan menggunakan fungsi addslashes() secara automatik pada semua data penyerahan GET, POST dan COOKIE ini menyebabkan beberapa isu keselamatan dan telah dialih keluar dalam versi PHP 5.4.0. Oleh itu, adalah disyorkan untuk memanggil fungsi addslashes() secara eksplisit kod. 4. Kesimpulan
addslashes() ialah fungsi pelarian aksara PHP yang sangat asas, yang boleh memastikan keselamatan kod pada tahap tertentu. Walau bagaimanapun, ia bukanlah cara terbaik untuk menangani serangan seperti suntikan SQL. Dalam proses pembangunan sebenar, langkah keselamatan yang lebih lengkap perlu diambil untuk memastikan keselamatan kod tersebut.
Atas ialah kandungan terperinci Bagaimana untuk melepaskan tanda tambah aksara dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!