Die Same-Origin-Policy ist die Grundregel des Browsers, nach der Skripte nur auf ihre eigene Herkunft zugreifen dürfen. Sie ist die Trennwand zwischen zwei geöffneten Websites.
- Same-Origin-Policy
Die Grundregel des Browsers, nach der Skripte nur auf ihre eigene Herkunft zugreifen dürfen.
Beispiel: „Die Same-Origin-Policy verhindert, dass die eine geöffnete Seite den Inhalt der anderen ausliest.“Auch: SOP. Eine Herkunft besteht aus drei Teilen: Protokoll, Hostname und Port. Weicht einer davon ab, ist es eine andere Herkunft.
Abgrenzung zu CORS: Die Same-Origin-Policy verbietet, CORS erlaubt im Einzelfall wieder.
Was die Same-Origin-Policy verhindert
Dass eine beliebige Website im Namen einer anderen handelt. Ohne diese Regel könnte ein offener Reiter mit einer fremden Seite die Inhalte des Onlinebankings im Nachbarreiter auslesen, solange der Nutzer dort angemeldet ist. Sie ist damit die Voraussetzung dafür, dass sich im selben Browser überhaupt mehrere Dienste gleichzeitig benutzen lassen.
Wo die Regel absichtlich Lücken lässt
Beim Einbinden. Bilder, Stylesheets, Schriften und Skripte dürfen von fremden Adressen geladen werden, denn sonst gäbe es kein Web; nur das Auslesen ihres Inhalts durch ein Skript ist verwehrt. Genau diese Lücke ist der Grund für zwei andere Angriffe: CSRF nutzt, dass eine Anfrage abgeschickt werden darf, und Clickjacking nutzt, dass eine fremde Seite eingebettet werden darf.
Warum die Regel allein nicht genügt
Weil sie nur zwischen Herkünften trennt, nicht innerhalb. Ein Skript, das über Cross-Site-Scripting auf der Seite selbst landet, gilt als eigene Herkunft und darf alles, was die Seite darf. Die Same-Origin-Policy ist deshalb eine Grundlage und kein Schutz gegen eingeschleusten Code; dafür ist die Content Security Policy zuständig.