Rumah > pangkalan data > tutorial mysql > Mengapa Petikan Saya Dilepaskan dengan Garis Segaris Belakang dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Petikan Saya Dilepaskan dengan Garis Segaris Belakang dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?

Barbara Streisand
Lepaskan: 2024-12-07 17:38:12
asal
616 orang telah melayarinya

Why Are My Quotes Escaped with Backslashes in PHP, and How Can I Fix It?

Masalah "Slash Before Every Quote" Disemak Semula

Anda telah menghadapi isu di mana setiap petikan dwi dalam rentetan yang anda sedang proses dilarikan dengan garis serong ke belakang. Selepas beberapa penyiasatan, anda telah menyedari bahawa ini disebabkan oleh konfigurasi pelayan yang dipanggil petikan ajaib.

Apakah Petikan Ajaib?

Petikan ajaib ialah tetapan dalam PHP yang secara automatik melepaskan aksara tertentu, termasuk petikan tunggal dan berganda, dalam data borang dan input lain. Tujuannya adalah untuk menghalang suntikan SQL dan kelemahan keselamatan yang lain.

Penyelesaian Menggunakan stripslashes()

Untuk menyelesaikan isu ini, gunakan fungsi stripslashes() untuk mengalih keluar tambahan garis miring ke belakang:

if (get_magic_quotes_gpc()) {
    $text = stripslashes($text);
}
Salin selepas log masuk

Ini akan mengalih keluar garis miring tambahan daripada $text, membolehkan anda bekerja dengan data seperti yang dijangkakan.

Lumpuhkan Petikan Sihir?

Sama ada untuk melumpuhkan petikan sihir atau tidak bergantung pada situasi khusus anda dan toleransi risiko:

  • Keselamatan: Jika anda mempunyai aplikasi yang ditulis dengan baik yang mengikut amalan terbaik untuk pengesahan input dan perlindungan, melumpuhkan petikan sihir mungkin tidak menimbulkan risiko keselamatan yang ketara.
  • Keserasian: Melumpuhkan petikan ajaib boleh menyebabkan isu keserasian dengan kod PHP lama atau perpustakaan pihak ketiga yang bergantung padanya.
  • Pertimbangan Lain: Petikan ajaib juga boleh mempengaruhi tingkah laku fungsi seperti htmlspecialchars() dan htmlentities(). Anda harus menyemak cara aplikasi anda mengendalikan pelarian dan pengekodan sebelum membuat keputusan.

Jika anda memutuskan untuk melumpuhkan petikan ajaib, pastikan anda menguji aplikasi anda dengan teliti dan menangani sebarang kemungkinan kebimbangan keselamatan.

Atas ialah kandungan terperinci Mengapa Petikan Saya Dilepaskan dengan Garis Segaris Belakang dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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