Mengapa Melarikan Diri Berlaku kepada $_POST Pembolehubah dalam PHP
Soalan:
Mengapa $ Pembolehubah _POST dilarikan dalam skrip PHP apabila menerima data daripada permintaan AJAX POST? Ini berlaku pada pelayan pengeluaran yang menjalankan PHP 5.2.12 pada Linux, tetapi bukan pada pelayan tempatan yang menjalankan PHP 5.3.1 pada Windows.
Jawapan:
Petikan ajaib , khususnya magic_quotes_gpc, berkemungkinan didayakan pada pelayan Linux.
Penjelasan:
Petikan ajaib secara automatik melarikan diri daripada aksara tertentu (petikan tunggal dan berganda, garis miring ke belakang, dan bait nol) dalam data yang diterima daripada sumber luaran, termasuk permintaan POST. Apabila petikan ini dihidupkan, anda harus melumpuhkannya kerana ia akan mempengaruhi cara pembolehubah POST dirujuk.
Penyelesaian Kemungkinan:
<code class="php">if (get_magic_quotes_gpc()) { $my_post_var = stripslashes($_POST["my_post_var"]); }</code>
Nota: Penyelesaian ini menanggalkan garis miring daripada semua data POST, jadi gunakannya berdasarkan selektif mengikut keperluan anda.
Atas ialah kandungan terperinci Mengapa Pembolehubah $_POST Saya Melarikan Diri pada Pelayan Pengeluaran Saya Tetapi Bukan Pelayan Tempatan Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!