ホームページ > ウェブフロントエンド > jsチュートリアル > 「セキュリティエラー: オリジンを持つフレームがクロスオリジン フレームにアクセスすることをブロックしました」を解決するにはどうすればよいですか?

「セキュリティエラー: オリジンを持つフレームがクロスオリジン フレームにアクセスすることをブロックしました」を解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-29 12:15:18
オリジナル
781 人が閲覧しました

How to Solve

「SecurityError: オリジンを持つフレームによるクロスオリジン フレームへのアクセスをブロックしました」のトラブルシューティング

問題の核心

同一オリジン ポリシーは重要なセキュリティ対策であり、スクリプトが異なるオリジン (プロトコル、ホスト名、またはポート) を持つフレームにアクセスすることを防ぎます。このエラーは、オリジンが一致しない iframe 内の要素にアクセスしようとすると発生します。

問題の解決

JavaScript への直接アクセスは、同一オリジン ポリシーによって禁止されています。ただし、両方のページを制御する場合は、クロスドメイン通信用の window.postMessage を検討してください:

  1. メイン ページ:

    frame.contentWindow.postMessage(data, 'https://second-site.example');
    ログイン後にコピー
  2. iframeページ:

    window.addEventListener('message', event => {
      if (event.origin === 'https://first-site.example') console.log(event.data);
    });
    ログイン後にコピー

同一生成元ポリシーの無効化 (賢明ではない)

例外的なケースとして、ポリシーを無効にする必要がある場合があります。ただし、セキュリティ上の懸念があるため、使用しないことを強くお勧めします。

一部のブラウザの場合、無効にする手順は次の場所にあります:

  • [Google Chrome](リンク)
  • [モジラ] Firefox](リンク)
  • [Safari](リンク)
  • [Microsoft Edge (Chromium)](リンク)
  • [Brave](リンク)
  • [Microsoft Internet Explorer](リンク)

同一生成元ポリシーを無効にすることを忘れないでください。影響を受けるのはブラウザのみであり、重大なセキュリティ リスクが生じます。

以上が「セキュリティエラー: オリジンを持つフレームがクロスオリジン フレームにアクセスすることをブロックしました」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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