ホームページ  >  記事  >  バックエンド開発  >  マジック クオートを無効にした後でも WordPress がデータを自動エスケープするのはなぜですか?

マジック クオートを無効にした後でも WordPress がデータを自動エスケープするのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 20:56:03628ブラウズ

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 がデータを自動エスケープするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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