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 サイトの他の関連記事を参照してください。