Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menangani Isu \"Slash Before Every Quote\" dalam PHP?

Bagaimana untuk Menangani Isu \"Slash Before Every Quote\" dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-21 11:30:29301semak imbas

How to Address the

Memahami Isu "slash before every quote"

Dalam keadaan tertentu, halaman web PHP mungkin menghadapi isu di mana penyerahan data borang mengakibatkan penambahan garis miring ke belakang sebelum setiap petikan berganda. Masalah ini timbul disebabkan oleh ciri konfigurasi pelayan yang dikenali sebagai petikan ajaib.

Apabila petikan ajaib didayakan, PHP secara automatik melepaskan aksara tertentu, termasuk petikan berganda, apabila ia dihantar atau diterima daripada pangkalan data atau penyerahan borang. Walaupun ini boleh menghalang serangan suntikan SQL dengan melepaskan petikan berniat jahat, ia juga boleh mengganggu pemprosesan borang biasa.

Menyelesaikan Masalah

Untuk menyelesaikan isu, anda boleh menggunakan stripslashes() berfungsi untuk membuang garis miring ke belakang yang ditambah secara automatik sebelum menyimpan data borang ke dalam pangkalan data atau memaparkannya pada halaman. Berikut ialah contoh:

<code class="php">if (get_magic_quotes_gpc()) {
    $input = stripslashes($input);
}</code>

Pernyataan bersyarat ini menyemak sama ada petikan ajaib didayakan dan, jika ya, mengalih keluar garis miring ke belakang daripada pembolehubah $input menggunakan stripslashes(). Ini akan membolehkan anda memproses data borang secara normal tanpa sebarang pengubahsuaian tambahan.

Penjelasan Petikan Ajaib

Petikan ajaib ialah ciri yang tidak digunakan dan harus dianggap tidak selamat dalam PHP moden pembangunan. Mereka telah diperkenalkan dalam PHP 4 dan dialih keluar dalam PHP 7.0.0 kerana mereka memperkenalkan pelbagai isu keselamatan dan keserasian kod.

Melumpuhkan petikan sihir biasanya disyorkan kerana ia membolehkan amalan pengekodan yang lebih telus dan selamat. Anda boleh melumpuhkan petikan ajaib dengan mengubah suai fail konfigurasi PHP anda dan menetapkan magic_quotes_gpc kepada Mati.

Dengan memahami fungsi petikan ajaib dan menggunakan stripslashes() untuk menyelesaikan masalah "slash before every quote" ini, anda boleh mengendalikan dengan berkesan bentuk data dalam PHP dan pastikan kefungsiannya yang dimaksudkan walaupun petikan ajaib didayakan.

Atas ialah kandungan terperinci Bagaimana untuk Menangani Isu \"Slash Before Every Quote\" dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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