Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimanakah pelarian PHP dilaksanakan?
Escape merujuk kepada menukar aksara khas kepada bentuk yang boleh dikenali oleh mesin dalam atur cara. Dalam PHP, pelarian seperti itu juga wujud. Pengeluaran PHP dicapai dengan menambahkan garis miring ke belakang "" sebelum aksara. Contohnya, untuk melepaskan petikan berganda ("), anda boleh menulis:
echo "She said \"Hello\"";
Ini akan dikeluarkan pada skrin: Dia berkata "Hello".
Dalam PHP, terdapat Terdapat banyak aksara yang perlu dilarikan. Berikut ialah beberapa watak biasa yang perlu dilepaskan dan watak melarikan diri mereka:
需要转义的字符 | 转义字符 |
---|---|
单引号 | ' |
双引号 | " |
反斜杠 | |
换行符 | n |
回车符 | r |
水平制表符 | t |
Kegagalan untuk melarikan diri akan mengakibatkan ralat sintaks atau ralat program 🎜>Escape juga perlu dilakukan apabila menggunakan pangkalan data. Jika tidak melarikan diri, pengguna boleh memasukkan kod berniat jahat ke dalam pangkalan data, menyebabkan sistem diserang kepada kami dengan dua fungsi untuk melarikan diri: mysqli_real_escape_string( ) dan addslashes(). 🎜>fungsi mysqli_real_escape_string() ialah fungsi escape MySQL yang disediakan oleh PHP Ia mempunyai keserasian yang baik dan menyokong beberapa set aksara Fungsi addslashes() ialah fungsi terbina dalam PHP, hanya menyokong rentetan set aksara ISO-8859-1
Berikut ialah contoh penggunaan mysqli_real_escape_string() fungsi:
Dalam contoh di atas, kami Gunakan fungsi mysqli_real_escape_string() untuk melarikan diri nama, e-mel dan mesej yang dimasukkan pengguna untuk mengelakkan serangan suntikan SQL Selain MySQL, pangkalan data lain juga perlu melarikan diri dengan cara yang berbeza , anda perlu memilih fungsi melarikan diri yang sesuai mengikut situasi tertentu .$mysqli = new mysqli("localhost", "username", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; exit(); } $name = mysqli_real_escape_string($mysqli, $_POST['name']); $email = mysqli_real_escape_string($mysqli, $_POST['email']); $message = mysqli_real_escape_string($mysqli, $_POST['message']); $query = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')"; $result = $mysqli->query($query); if ($result === TRUE) { echo "Message sent successfully"; } else { echo "Error: " . $mysqli->error; } $mysqli->close();
Untuk meringkaskan, melarikan diri adalah bahagian penting dalam menulis program PHP yang selamat dan mesti digunakan dengan berhati-hati apabila mengeluarkan aksara atau memasukkan data ke dalam pangkalan data Adalah disyorkan untuk menggunakan fungsi mysqli_real_escape_string(). kehilangan watak melarikan diri.
Atas ialah kandungan terperinci Bagaimanakah pelarian PHP dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!