Google が JSON 応答の先頭に「while(1);」を追加するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-24 03:42:09
オリジナル
516 人が閲覧しました

Why Does Google Prepend

while(1) を先頭に追加します。 JSON 応答へ: なぜ Google はそれを行うのですか?

Google のプライベート JSON エンドポイントに API リクエストを行うとき、珍しいプレフィックス while(1); に気づくかもしれません。このため、その目的と潜在的な影響について疑問が生じています。

JSON ハイジャックの防止

このプレフィックスの主な理由は、JSON ハイジャックから保護することです。 2011 年以前は、ブラウザーにより、AJAX リクエスト中に動的に作成されたオブジェクトを Web サイトが傍受して変更することができました。 while(1) を先頭に追加することで; JSON 応答に対して、Google はブラウザがこれらの応答を JavaScript コードとして評価することを防ぎ、潜在的なハイジャック攻撃を効果的にブロックします。

Eval() エクスプロイトの回避

最新のブラウザは安全な JSON 解析を強制します、 eval() を介して悪意のあるコードを実行することが困難になります。ただし、while(1);プレフィックスは、攻撃者に対して構文の曖昧さを生み出すことにより、追加のセキュリティ層を提供します。プレフィックスを削除したとしても、残ったコードにより無限ループまたは構文エラーが発生し、攻撃が無効になります。

Google サービス間のバリエーション

さまざまな Google サービスこのプレフィックスのバリエーションを使用します。 Google ドキュメントでは while(1); の代わりに &&&START&&& が使用されますが、Google コンタクトでは while(1); に &&&START&&& が追加されます。これは、JSON ハイジャックを防ぐという同じ目的を果たします。

結論

Google には while(1) が組み込まれています。プライベート JSON 応答に同様のプレフィックスを含めることは、JSON ハイジャック攻撃に対する事前の対策となります。これにより、これらの応答が実行可能な JavaScript コードとして扱われないことが保証され、ユーザー データが保護され、悪意のあるアクティビティが防止されます。

以上がGoogle が JSON 応答の先頭に「while(1);」を追加するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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