Zugriff auf die übergeordnete URL vom Iframe über Subdomains hinweg
Der Zugriff auf die URL der übergeordneten Seite innerhalb eines Iframes ist im Allgemeinen unkompliziert, wenn sich beide Seiten darauf befinden die gleiche Domäne. Wenn sich der Iframe und die übergeordnete Seite jedoch auf unterschiedlichen Subdomains befinden, verhindern Cross-Domain-Scripting-Einschränkungen den direkten Zugriff auf die URL der übergeordneten Domain.
Cross-Site-Scripting-Einschränkungen
Cross-Site-Scripting-Schwachstellen treten auf, wenn ein bösartiges Skript auf einer Website auf Code auf einer anderen Website zugreifen und diesen ausführen kann. Browser-Sicherheitsrichtlinien erzwingen strenge Einschränkungen, um zu verhindern, dass solche Schwachstellen sensible Daten ausnutzen. Eine dieser Einschränkungen besteht darin, dass Skripte ohne ausdrückliche Genehmigung nicht auf Daten von Websites in verschiedenen Domänen zugreifen können.
Subdomains und Cross-Site Scripting
Während Subdomains logischerweise mit ihnen in Zusammenhang stehen Aus Sicherheitsgründen werden sie in der primären Domäne als separate Einheiten behandelt. Wenn daher ein Iframe auf einer Subdomain versucht, auf die URL der übergeordneten Seite auf einer anderen Subdomain zuzugreifen, interpretiert der Browser dies als Cross-Site-Scripting-Versuch und verweigert den Zugriff.
Alternative Lösung
Wenn die Anforderung lediglich darin besteht, die URL der Hauptseite (die URL der Adressleiste des Browsers) abzurufen, ist eine Problemumgehung verfügbar:
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
Dieser Code prüft, ob der Iframe und das übergeordnete Element vorhanden sind Seite befinden sich auf verschiedenen Subdomains. Wenn dies der Fall ist, wird die Eigenschaft document.referrer verwendet, um die URL der Seite abzurufen, die mit dem Iframe verknüpft ist. Wenn sie sich nicht auf verschiedenen Subdomains befinden, wird die Eigenschaft document.location.href verwendet, um die URL der übergeordneten Seite abzurufen.
Hinweis:
Das obige ist der detaillierte Inhalt vonWie kann ich über Subdomains hinweg von einem Iframe aus auf die übergeordnete URL zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!