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