1

ウィジェットを作成して別のドメインのサイトに埋め込んだ場合、ウィジェット<iframe>は親ページに関するどのくらいのデータを読み取ることができますか?

明らかに DOM アクセスはありませんが、親ページに親があるかどうか、または親ページの URL は何かなど、他の情報へのアクセスはありますか?

4

2 に答える 2

2

通常、別のドメインから提供される iframe のコンテンツは、どのような方法でも親にアクセスできません。これは、別のブラウザー タブでページを読み込むようなものです。

ただし、別のドメインから提供された場合でも、親 DOM へのアクセスを許可する中間者攻撃の可能性があります。これは思ったより簡単です。公衆 Wi-Fi アクセス ポイントを管理制御できる人なら誰でもこの攻撃を実行できます (スターバックス、ホテル、空港を考えてみてください)。

HTML5 iframe サンドボックス属性を使用して、この攻撃から保護することができます -- 以下を参照してください。

中間者攻撃は次のように機能します。ページがhttp://yoursite.comから読み込まれ、iframe がhttp://badsite.orgに移動するとします。

HTML5 iframe サンドボックス属性は、これを回避する方法のようです。仕様を読むことができますが、最良の説明はここにあるかもしれません。

これは、ChromeIE10FireFoxSafariでサポートされているようです。

仕様には、「allow-same-origin」属性が設定されていない場合、「コンテンツは一意のオリジンからのものとして扱われる」と記載されています。これにより、ブラウザーが URL を認識していても、子 iframe が親の DOM のどの部分にもアクセスできなくなります。

サンドボックスでは、スクリプト、ポップアップ、トップ レベル URL を変更する機能などを無効にすることもできます。

于 2012-11-28T18:50:01.950 に答える
-2

少しGoogle検索を行ったところ、通常、コンテンツが別のドメイン(同じオリジンポリシー)である場合、iframeの内部ガットにアクセスできないことがわかりましたが、それを回避する方法を提供する記事がここにあります.

于 2012-06-15T14:29:16.860 に答える