Heim >Web-Frontend >js-Tutorial >Wie kann ich über einen Iframe in einer anderen Subdomain auf die übergeordnete URL zugreifen?

Wie kann ich über einen Iframe in einer anderen Subdomain auf die übergeordnete URL zugreifen?

DDD
DDDOriginal
2024-11-17 15:49:02608Durchsuche

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

Zugriff auf die übergeordnete URL vom Iframe aus

Bei der Arbeit mit Iframes ist es oft notwendig, vom Iframe aus auf die URL der übergeordneten Seite zuzugreifen. Dies kann jedoch problematisch sein, wenn sich der Iframe und die übergeordnete Seite nicht auf derselben Subdomain befinden.

Cross-Site Scripting und Subdomains

Cross-Site Scripting (XSS ) tritt auf, wenn ein bösartiges Skript auf einer Webseite ausgeführt wird, der ein Benutzer vertraut. Zur Verhinderung von XSS wurden strengere Sicherheitsmaßnahmen implementiert, und diese Maßnahmen erstrecken sich auch auf Iframes.

Wenn sich der Iframe und die übergeordnete Seite nicht in derselben Subdomain befinden, obwohl sie sich in derselben Domain befinden, wird der Zugriff berücksichtigt Cross-Site-Scripting. Daher führt das Abrufen der URL der übergeordneten Seite aus dem Iframe mithilfe von Techniken wie:

parent.document.location
parent.window.location

zu einem Fehler „Zugriff verweigert“.

Zugriff auf die Browser-URL

Obwohl es unmöglich ist, direkt auf die URL der übergeordneten Seite zuzugreifen, gibt es eine Problemumgehung, um die URL des Browsers abzurufen, bei der es sich um die URL der Hauptseite handelt. Gehen Sie dazu wie folgt vor:

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

Dieser Code prüft, ob sich der Iframe und die übergeordnete Seite nicht auf derselben URL befinden. Wenn sie unterschiedlich sind, wird document.referrer verwendet, um die URL der Seite abzurufen, die mit dem Iframe verknüpft ist. Andernfalls wird document.location.href verwendet, um die URL des aktuellen (Iframe-)Dokuments abzurufen.

Zusätzliche Hinweise

  • window.parent.location ist erlaubt, um den Sicherheitsfehler zu vermeiden.
  • document.referrer gibt in manchen Fällen möglicherweise nicht immer die richtige URL zurück.
  • document.location bezieht sich auf die URL des Iframe-Dokuments.

Das obige ist der detaillierte Inhalt vonWie kann ich über einen Iframe in einer anderen Subdomain auf die übergeordnete URL zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn