WordPress 中POST 資料的神秘自動轉義
儘管透過php.ini 停用了魔術引號,PHP 和WordPress 仍然繼續自動轉義POST 資料包含單引號。這個令人困惑的問題讓開發者摸不著頭緒。
WordPress 自動轉義的起源
自動轉義的根本原因在於 WordPress 的引導過程。 WordPress 初始化時,會啟動一段程式碼,自動轉義使用者輸入中的某些字元。
自動轉義的解決方案
要解決此問題,建議:使用以下程式碼暫時覆蓋全域變數:
$_GET = array_map('stripslashes_deep', $_GET); $_POST = array_map('stripslashes_deep', $_POST); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_SERVER = array_map('stripslashes_deep', $_SERVER); $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
或者,您可以考慮使用更有針對性的方法,透過「本地剝離」而不是覆蓋超全域變數。例如:
$post = array_map('stripslashes_deep', $_POST);
其他注意事項
覆蓋超全域變數可能會影響應用程式的其他部分。因此,請仔細評估它是否適合您的特定情況。
@Alexandar O'Mara 和 @quickshiftin 的進一步見解為該主題提供了寶貴的觀點。
以上是為什麼 WordPress 自動轉義在停用 Magic Quotes 後仍會發布資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!