PHP で $_POST 変数にエスケープが発生する理由
質問:
$ はなぜAJAX POST リクエストからデータを受信するときに、PHP スクリプトで _POST 変数がエスケープされていますか?これは、Linux 上で PHP 5.2.12 を実行している運用サーバーでは発生しますが、Windows 上で PHP 5.3.1 を実行しているローカル サーバーでは発生しません。
答え:
魔法の引用符、特に magic_quotes_gpc は、Linux サーバーで有効になっている可能性があります。
説明:
マジック クオートは、特定の文字 (一重引用符と二重引用符、 POST リクエストなど、外部ソースから受信したデータ内のバックスラッシュ、ヌル バイトなど)。これらの引用符がオンになっている場合は、POST 変数の参照方法に影響するため、無効にする必要があります。
考えられる解決策:
<code class="php">if (get_magic_quotes_gpc()) { $my_post_var = stripslashes($_POST["my_post_var"]); }</code>
注: このソリューションはすべての POST データからスラッシュを削除するため、選択に基づいて使用します。
以上が$_POST 変数が本番サーバーではエスケープされるのに、ローカル サーバーではエスケープされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。