Für jede WEB-basierte Anwendung ist die Sicherheit das Wichtigste. Es gibt verschiedene Sicherheitsprüfungen in JS, um zu verhindern, dass bösartige Skripte Ihren Computer angreifen, und einige dieser spezifischen Sicherheitsmethoden werden in verschiedenen Browsern verwendet verfügt über ein völlig einzigartiges und vollständiges Modell, wenn es um das Signieren von Skripten und die Durchsetzung von Berechtigungen geht. Wir müssen wissen, welche Sicherheitsmaßnahmen allen Browsern gemeinsam sind und welche browserspezifisch sind. Auf diese Weise können wir sicherere JS-Skripte erstellen.
Gleiche Ursprungsrichtlinie;
JS kann nur mit Seiten in derselben Domäne kommunizieren. Beispiel: Ausführung auf http:// Das Skript on domain:port/app1/page.html; kann nicht mit dem Browserfenster oder Iframe von http://domain:port/app3/page.html; interagieren. Es kann nicht auf seine Cookies zugreifen, seine HTTP-Antworten empfangen usw. (Aber es kann HTTP-Anfragen an jede andere Quelle senden); AJAX und Webservice unterliegen ebenfalls dieser Richtlinie.
Die Bedingungen dafür, dass zwei Skripte als vom gleichen Ursprung stammend betrachtet werden sind:
Das Protokoll ist dasselbe (zum Beispiel http://)
Der Port ist derselbe (normalerweise 80)
Der Domainname ist derselbe
Wenn eine dieser drei Bedingungen nicht erfüllt ist, dürfen die beiden Skripte nicht interagieren. Beispiel: Das Skript auf www.meinedomain.com kann nicht auf die Seite auf video.meinedomain.com zugreifen Da die beiden Domänennamen unterschiedlich sind, kann letztere nicht auf die Seite www.mydomain.com:8080 zugreifen, da der Port unterschiedlich ist, und auch nicht auf about:blank zugreifen Das Protokoll ist unterschiedlich (letzteres ist nicht http://)
Auswirkungen der Same-Origin-Richtlinie:
Es wirkt sich beispielsweise auf die Interaktion mit BOM und DOM aus : Auf das Dokumentobjekt einer Seite aus verschiedenen Quellen kann nicht zugegriffen werden, was bedeutet, dass auf kein DOM zugegriffen werden kann. Beispiel:
Es gibt zwei Iframes auf der Seite, die auf verschiedene Quellen verweisen 🎜>alert(frames[1].location.href);
alert(frames[ 1].document.location.href);//Fehlgeschlagen
Sowohl Fenster als auch Dokument haben einen Speicherort Objektattribut. Wenn Sie diese beiden Codezeilen auf einer Seite ausführen, die nicht von der Frame-Seite stammt, wird in der zweiten Zeile ein Fehler gemeldet.
Das obige ist der detaillierte Inhalt vonWas ist die Same-Origin-Richtlinie von js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!