ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5 postMessage はクロスドメイン メッセージングを実装します_html5 チュートリアル スキル

HTML5 postMessage はクロスドメイン メッセージングを実装します_html5 チュートリアル スキル

WBOY
WBOYオリジナル
2016-05-16 15:51:401303ブラウズ

1. 同一起源戦略

クロスドメインを理解するには、まず同一生成元ポリシーとは何かを知る必要があります。 Baidu Encyclopedia では、同一生成元ポリシーを次のように定義しています。 同一生成元ポリシーは、ブラウザの中核となる最も基本的なセキュリティ機能です。同一生成元ポリシーが存在しない場合、ブラウザの通常の機能が損なわれる可能性があります。 Web は同一オリジン ポリシーに基づいて構築されており、ブラウザは同一オリジン ポリシーの実装にすぎないと言えます。

同一オリジンとは: 2 つの URL のドメイン名、プロトコル、ポートが同じ場合、それらのオリジンが同じであることを意味します。

ブラウザーの同一生成元ポリシーは、異なるソースからの「ドキュメント」またはスクリプトによる現在の「ドキュメント」の特定の属性の読み取りまたは設定を制限します。 (ホワイトハットは Web セキュリティについて話します[1])。このポリシーによれば、a.com ドメイン名の JavaScript は、b.com ドメイン名のオブジェクトをクロスドメイン操作できません。たとえば、baidu.com ドメイン名のページに含まれる JavaScript コードは、google.com ドメイン名のページのコンテンツにアクセスできません。

JavaScript は、Ajax を含むブラウザーの同一生成元ポリシーに厳密に従う必要があります (実際、Ajax も JavaScript で構成されています)。 XMLHttpRequest オブジェクトを通じて実装された Ajax リクエストは、別のドメインに送信できません。たとえば、abc.test.com の下のページは、def.test.com に Ajax リクエストを送信できません。同一生成元ポリシーを適用すると、ユーザーは表示しているページが実際に閲覧しているドメインからのものであることを確認できます。

同一オリジン戦略は、実際のアプリケーションでは非常に重要です。攻撃者が Iframe を使用して実際の銀行ログイン ページを自分のページに埋め込んだとします。ユーザーが実際のユーザー名とパスワードを使用してログインすると、ページは JavaScript を通じてユーザー フォームの内容を読み取ることができ、ユーザー名とパスワードの情報が読み取られるとします。漏れた。

ブラウザでは、