首頁 >後端開發 >php教程 >為什麼 WordPress 自動轉義在停用 Magic Quotes 後仍會發布資料?

為什麼 WordPress 自動轉義在停用 Magic Quotes 後仍會發布資料?

Patricia Arquette
Patricia Arquette原創
2024-10-26 20:56:03734瀏覽

Why Does WordPress Auto-Escape POST Data Even After Disabling Magic Quotes?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn