「每個引號前都有斜線」Enigma
您在PHP 腳本中遇到了一個特殊問題:每當表單提交給自身時對於包含雙引號的值,它會在每個值之前加上一個反斜線。此行為歸因於 PHP 臭名昭著的「魔術引號」功能。
魔術引號會自動轉義某些字元(包括雙引號),以防止惡意注入。雖然這看起來像是一種安全措施,但它也可能會導致像您遇到的問題一樣的問題。
要解決此問題,請將以下程式碼片段合併到您的腳本中:
<code class="php">if (get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }</code>
get_magic_quotes_gpc() 函數檢查是否啟用了魔術引號。如果是這樣,stripslashes() 函數會從文字中刪除多餘的反斜線。
禁用魔術引號的風險
您已表明您擁有 root 存取權伺服器並正在考慮停用魔術引號。了解潛在風險非常重要:
結論
雖然禁用魔術引號可以解決您當前的問題,但它是對於實施強大的輸入驗證和衛生實踐以防止安全漏洞至關重要。在做出此決定之前,請仔細權衡潛在風險,並確保您的程式碼始終安全,無論魔術引號的狀態如何。
以上是如何在 PHP 中停用魔術引號並處理反斜線插入問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!