魔術引號問題:每個引號前面都有斜杠
問題:
在PHP 腳本中,使用者表單引起了問題。當表單提交回自身時,特定文字輸入欄位會在每個雙引號之前插入反斜線 ("")。例如,「19」輪子」變成「19」輪子」。經過進一步調查,發現此問題是由於伺服器上啟用了“magic_quotes”而引起的。禁用“magic_quotes”將需要 root 存取權限。
解決方案:
要解決此問題,請在受影響的文本上使用以下帶有“stripslashes”的代碼片段,特別是如果「magic_quotes」在伺服器上啟用:
if(get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }
套用此後程式碼中,您可以像往常一樣繼續處理「$your_text」變數。
其他資訊:
魔術引號是一種 PHP 配置設置,會在某些字元前自動添加反斜杠,包括引號和反斜杠。雖然它們的目的是防止 SQL 注入攻擊,但它們現在被認為已經過時,並且可能導致比它們解決的問題更多的安全問題。
如果您的開發環境允許,通常建議停用魔術引號。這可以透過更新 PHP 配置或使用上面提供的程式碼片段刪除魔術引號設定添加的任何額外反斜線來完成。
以上是如何修復 PHP 表單資料中引號前出現的反斜線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!