Menggali Pembolehubah $_POST yang Dilepaskan dalam PHP
Apabila bekerja dengan permintaan AJAX POST dalam PHP, adalah penting untuk memahami potensi isu yang mungkin timbul , terutamanya apabila pembolehubah dalam tatasusunan $_POST secara tidak dijangka akan terlepas. Mari kita selidiki sebab di sebalik fenomena ini dan terokai cara untuk menyelesaikannya untuk tingkah laku yang konsisten merentas pelayan yang berbeza.
Penyebab di sebalik pelarian itu terletak pada ciri petikan ajaib PHP, yang apabila didayakan, secara automatik melarikan diri daripada aksara tertentu, termasuk tunggal petikan, petikan berganda, garis miring ke belakang dan aksara nol. Ini bertujuan sebagai langkah keselamatan untuk mengelakkan suntikan kod berniat jahat, tetapi ia juga boleh membawa kepada akibat yang tidak diingini apabila mengendalikan data POST.
Pada pelayan yang petikan ajaib didayakan, seperti pelayan Linux yang anda nyatakan, setiap nilai dalam $_POST akan dikeluarkan secara automatik. Ini boleh menjadi masalah jika kod anda menjangkakan data yang tidak dapat dilepaskan, kerana ia akan mengakibatkan tingkah laku yang tidak dijangka.
Untuk menangani isu ini, anda mempunyai dua pilihan:
<code class="php">$my_post_var = stripslashes($_POST["my_post_var"]);</code>
Dengan mengikuti langkah ini, anda boleh memastikan tingkah laku yang konsisten dalam mengendalikan pembolehubah POST merentas pelayan yang berbeza, tanpa mengira tetapan petikan ajaib.
Atas ialah kandungan terperinci Mengapa pembolehubah $_POST saya terlepas dalam PHP, dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!