ホームページ  >  記事  >  バックエンド開発  >  マジック クォートが無効になっていても、PHP/WordPress で POST データが自動エスケープされるのはなぜですか?

マジック クォートが無効になっていても、PHP/WordPress で POST データが自動エスケープされるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 15:29:03974ブラウズ

Why is POST Data Still Auto-Escaped in PHP/WordPress Even with Magic Quotes Disabled?

「マジック クオート」が無効になっているにもかかわらず PHP/WordPress が自動エスケープする

Q: マジック クオート機能が無効になっていると (get_magic_quotes_gpc() 経由で 0 が返されます) )、PHP/WordPress では POST データが自動エスケープされ続けるのはなぜですか?

A: マジック クオートはオフになっている可能性がありますが、WordPress は POST データをエスケープするための独自のメカニズムを導入しています。これは、WordPress バグ トラッカー (http://core.trac.wordpress.org/ticket/18322) で説明されている既知の問題によるものです。

この問題を解決するには、stripslashes_deep() を利用できます。 WordPress Codex で提案されている関数 (http://codex.wordpress.org/Function_Reference/stripslashes_deep):

<code class="php">$_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);</code>

注: このアプローチはスラッシュの削除には効果的ですが、別の方法を検討することをお勧めします。 Alexandar O'Mara と Quickshiftin が提案しているように、スーパーグローバルを上書きせずに「ローカルで削除」する方法です。

以上がマジック クォートが無効になっていても、PHP/WordPress で POST データが自動エスケープされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。