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

Susan Sarandon
Lepaskan: 2024-10-21 11:30:29
asal
300 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!