Maison  >  Article  >  interface Web  >  Comment puis-je accéder à l'URL parent à partir d'une Iframe sur un sous-domaine différent ?

Comment puis-je accéder à l'URL parent à partir d'une Iframe sur un sous-domaine différent ?

DDD
DDDoriginal
2024-11-17 15:49:02508parcourir

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

Accès à l'URL parent depuis Iframe

Lorsque vous travaillez avec des iframes, il est souvent nécessaire d'accéder à l'URL de la page parent depuis l'iframe. Cependant, cela peut poser problème si l'iframe et la page parent ne sont pas sur le même sous-domaine.

Cross-Site Scripting et sous-domaines

Cross-site scripting (XSS ) se produit lorsqu'un script malveillant est exécuté sur une page Web approuvée par un utilisateur. Des mesures de sécurité plus strictes ont été mises en place pour empêcher XSS, et ces mesures s'étendent aux iframes.

Si l'iframe et la page parent ne sont pas sur le même sous-domaine, même s'ils sont sur le même domaine, l'accès est considéré scripts intersites. Par conséquent, la récupération de l'URL de la page parent à partir de l'iframe à l'aide de techniques telles que :

parent.document.location
parent.window.location

entraînera une erreur d'accès refusé.

Accès à l'URL du navigateur

Bien qu'il soit impossible d'accéder directement à l'URL de la page parent, il existe une solution pour obtenir l'URL du navigateur, qui est l'URL de la page principale. Pour ce faire :

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

Ce code vérifie si l'iframe et la page parent ne sont pas sur la même URL. S'ils sont différents, il utilise document.referrer pour obtenir l'URL de la page liée à l'iframe. Sinon, il utilise document.location.href pour obtenir l'URL du document (iframe) actuel.

Notes supplémentaires

  • window.parent.location est autorisé, évitant ainsi l'erreur de sécurité.
  • document.referrer peut ne pas toujours renvoyer l'URL correcte dans certains cas.
  • document.location fait référence à l'URL du document iframe.

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:
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