「每個引號前都有斜線」Enigma
您在PHP 腳本中遇到了一個特殊問題:每當表單提交給自身時對於包含雙引號的值,它會在每個值之前加上一個反斜線。此行為歸因於 PHP 臭名昭著的「魔術引號」功能。
魔術引號會自動轉義某些字元(包括雙引號),以防止惡意注入。雖然這看起來像是一種安全措施,但它也可能導致與您遇到的問題類似的問題。
要解決此問題,請將以下程式碼片段合併到您的腳本中:
if (get_magic_quotes_gpc()) {
$your_text = stripslashes($your_text);
}
get_magic_quotes_gpc() 函式檢查是否啟用了魔術引號。如果是這樣,則 stripslashes() 函數會從文字中刪除多餘的反斜線。
禁用魔術引號的風險
您已表明您擁有對您的文字的 root 存取權伺服器並正在考慮停用魔術引號。了解潛在風險非常重要:
結論
雖然禁用魔術引號可以解決您當前的問題,但它是對於實施強大的輸入驗證和衛生實踐以防止安全漏洞至關重要。在做出此決定之前,請仔細權衡潛在風險,並確保您的程式碼始終安全,無論魔術引號的狀態如何。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3