Maison > interface Web > js tutoriel > Comment résoudre « SecurityError : empêche une trame avec origine d'accéder à une trame d'origine croisée » ?

Comment résoudre « SecurityError : empêche une trame avec origine d'accéder à une trame d'origine croisée » ?

Mary-Kate Olsen
Libérer: 2024-12-29 12:15:18
original
834 Les gens l'ont consulté

How to Solve

Dépannage « SecurityError : empêche un cadre avec origine d'accéder à un cadre d'origine croisée »

Le nœud du problème

Politique de même origine , une mesure de sécurité critique, empêche les scripts d'accéder aux trames d'origines différentes (protocole, nom d'hôte ou port). Cette erreur se produit lors de la tentative d'accès à des éléments d'une iframe dont l'origine ne correspond pas.

Résolution du problème

L'accès direct à JavaScript est interdit par la politique de même origine. Cependant, si vous contrôlez les deux pages, envisagez window.postMessage pour la communication entre domaines :

  1. Page principale :

    frame.contentWindow.postMessage(data, 'https://second-site.example');
    Copier après la connexion
  2. Iframe Page :

    window.addEventListener('message', event => {
      if (event.origin === 'https://first-site.example') console.log(event.data);
    });
    Copier après la connexion

Désactivation de la politique de même origine (imprudent)

Dans des cas exceptionnels, vous devrez peut-être désactiver la politique. Cependant, cela est fortement déconseillé pour des raisons de sécurité.

Pour certains navigateurs, des instructions de désactivation peuvent être trouvées ici :

  • [Google Chrome](lien)
  • [Mozilla Firefox](lien)
  • [Safari](lien)
  • [Microsoft Edge (Chromium)](lien)
  • [Brave](lien)
  • [Microsoft Internet Explorer](lien)

N'oubliez pas que la désactivation de la stratégie de même origine affecte uniquement votre navigateur et présente des risques de sécurité importants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal