為什麼PHP 中的$_POST 變量會發生轉義
問題:
為什麼$從AJAX POST 請求接收資料時,_POST 變數在PHP 腳本中被轉義?這種情況發生在 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中文網其他相關文章!