Masalah Petikan Ajaib: Slash Mendahului Setiap Petikan
Masalah:
Dalam skrip PHP , borang pengguna menyebabkan masalah. Apabila borang diserahkan kembali kepada dirinya sendiri, medan input teks tertentu mempunyai garis miring ke belakang ("") disisipkan sebelum setiap petikan berganda. Sebagai contoh, "19" roda" menjadi "19" roda". Selepas penyiasatan lanjut, didapati bahawa isu ini timbul kerana "petik_ajaib" didayakan pada pelayan. Melumpuhkan "magic_quotes" akan memerlukan akses root.
Penyelesaian:
Untuk menyelesaikan masalah ini, gunakan coretan kod berikut dengan "stripslashes" pada teks yang terjejas, terutamanya jika "magic_quotes" didayakan pada pelayan:
if(get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }
Selepas menggunakan ini kod, anda boleh meneruskan pemprosesan pembolehubah "$your_text" seperti biasa.
Maklumat Tambahan:
Petikan ajaib ialah tetapan konfigurasi PHP yang secara automatik menambah garis miring ke belakang sebelum aksara tertentu , termasuk petikan dan garis miring ke belakang. Walaupun ia bertujuan untuk menghalang serangan suntikan SQL, ia kini dianggap usang dan boleh membawa kepada lebih banyak isu keselamatan daripada yang mereka selesaikan.
Jika persekitaran pembangunan anda membenarkan, biasanya disyorkan untuk melumpuhkan petikan sihir. Ini boleh dilakukan dengan mengemas kini konfigurasi PHP anda atau dengan menggunakan coretan kod yang disediakan di atas untuk mengalih keluar sebarang garis miring ke belakang tambahan yang ditambahkan oleh tetapan petikan ajaib.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Garis Sebak Terbalik Yang Muncul Sebelum Petikan dalam Data Borang PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!