ホームページ >ウェブフロントエンド >jsチュートリアル >Iframe はサブドメインを越えて親ページの URL にアクセスできますか?

Iframe はサブドメインを越えて親ページの URL にアクセスできますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-16 00:05:03614ブラウズ

Can Iframes Access the Parent Page's URL Across Subdomains?

Iframe から親 URL にアクセスする

同じドメイン上にあるにもかかわらず、iframe 経由で親ページの URL を取得できないことがよくあります。サブドメインが異なる場合。この動作により、クロスサイト スクリプティング (XSS) はサブドメインにも拡張されますか?

制限について

その答えはブラウザのセキュリティ対策にあります。メイン ページと iframe はドメイン (例: www.mysite.com) を共有していますが、サブドメインの区別 (例: www と qa-www) は異なる「起源」に分類されます。この分離により、悪意のある攻撃者が異なる Web サイトやそのサブドメインにまたがってデータにアクセスしたり操作したりすることが防止されます。

代替ソリューション

一方、親ページの URL への直接アクセスは XSS により制限されています。懸念がある場合は、別のアプローチで必要な情報を提供できます。親ページの URL (ブラウザ URL) を取得するには、次のコードを使用できます:

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

注:

  • window.parent.location はアクセス可能であり、セキュリティ エラーを回避します。
  • document.referrer は、外部ソースが iframe の場所に影響を与えた場合、それを含むドキュメントの URL を常に返すとは限りません。
  • document.location は、現在のドキュメント (iframe) とその URL を参照します。 iframe と親が同じ href を共有している場合は、必要な親 URL が提供されます。

以上がIframe はサブドメインを越えて親ページの URL にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。