ホームページ >ウェブフロントエンド >jsチュートリアル >別のサブドメインの iframe から親 URL にアクセスするにはどうすればよいですか?

別のサブドメインの iframe から親 URL にアクセスするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-17 15:49:02583ブラウズ

How Can I Access the Parent URL from an Iframe on a Different Subdomain?

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

iframe を使用する場合、多くの場合、iframe 内から親ページの URL にアクセスする必要があります。ただし、iframe と親ページが同じサブドメイン上にない場合、これは問題となる可能性があります。

クロスサイト スクリプティングとサブドメイン

クロスサイト スクリプティング (XSS) ) は、ユーザーが信頼している Web ページ上で悪意のあるスクリプトが実行された場合に発生します。 XSS を防ぐために、より厳格なセキュリティ対策が実装されており、これらの対策は iframe にも適用されます。

iframe と親ページが同じサブドメインにない場合は、同じドメイン上にあるとしても、アクセスが考慮されます。クロスサイトスクリプティング。したがって、

parent.document.location
parent.window.location

などの手法を使用して iframe から親ページの URL を取得すると、アクセス拒否エラーが発生します。

ブラウザ URL へのアクセス

親ページの URL に直接アクセスすることは不可能ですが、ブラウザの URL、つまりメイン ページの URL。これを行うには:

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

このコードは、iframe と親ページが同じ URL 上にないかどうかをチェックします。それらが異なる場合は、document.referrer を使用して、iframe にリンクされているページの URL を取得します。それ以外の場合は、document.location.href を使用して、現在の (iframe) ドキュメントの URL を取得します。

補足

  • window.parent.location は、許可され、セキュリティ エラーが回避されます。
  • document.referrer は、一部の環境では常に正しい URL を返すとは限りません。 case.
  • document.location は、iframe ドキュメントの URL を指します。

以上が別のサブドメインの iframe から親 URL にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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