ホームページ > バックエンド開発 > PHPチュートリアル > PHP で `json_encode()` がスラッシュをエスケープしないようにするにはどうすればよいですか?

PHP で `json_encode()` がスラッシュをエスケープしないようにするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-27 12:24:14
オリジナル
847 人が閲覧しました

How Can I Prevent `json_encode()` From Escaping Forward Slashes in PHP?

json_encode() スラッシュのエスケープ

Instagram から JSON をデコードする場合、再エンコードおよびキャッシュ時にスラッシュがエスケープされることがよくあります。データ。これは、json_encode() がデフォルトでスラッシュを自動的にエスケープするためです。

スラッシュ エスケープの無効化

幸いなことに、PHP 5.4 では、 JSON_UNESCAPED_SLASHES フラグ。使用方法は次のとおりです。

json_encode($data, JSON_UNESCAPED_SLASHES);
ログイン後にコピー

このフラグを設定すると、json_encode() はスラッシュをエスケープせずに保持します。

Web/HTML コンテキストに関する注意

Web/HTML コンテキスト (例: JSON データをブラウザーに送信すると、セキュリティ上の脆弱性が発生する可能性があります。エスケープされたスラッシュは、クロスサイト スクリプティング (XSS) 攻撃を防ぐために不可欠です。したがって、このようなシナリオでは JSON_UNESCAPED_SLASHES の使用を慎重に検討する必要があります。

5.4 より前の PHP バージョンの場合

5.4 より前の PHP バージョンを使用している場合は、 json_encode_no_backslashes() のような既存の関数を変更できます (次の場所で入手可能) https://snippets.dzone.com/posts/show/7487) ニーズに合わせて。

以上がPHP で `json_encode()` がスラッシュをエスケープしないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート