<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Same-Origin-Policy</id>
	<title>Same-Origin-Policy - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Same-Origin-Policy"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Same-Origin-Policy&amp;action=history"/>
	<updated>2026-05-26T15:48:58Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Same-Origin-Policy&amp;diff=1347915&amp;oldid=prev</id>
		<title>imported&gt;Ephraim33: Linkfix (Clientseitige Skriptsprachen → Client Side Scripting#Programmiersprachen)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Same-Origin-Policy&amp;diff=1347915&amp;oldid=prev"/>
		<updated>2025-05-16T17:23:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Benutzer:DerHexer/fixlinks.js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:DerHexer/fixlinks.js (Seite nicht vorhanden)&quot;&gt;Linkfix&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Clientseitige_Skriptsprachen&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Clientseitige Skriptsprachen (Seite nicht vorhanden)&quot;&gt;Clientseitige Skriptsprachen&lt;/a&gt; → &lt;a href=&quot;/index.php/Client_Side_Scripting#Programmiersprachen&quot; title=&quot;Client Side Scripting&quot;&gt;Client Side Scripting#Programmiersprachen&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Same-Origin-Policy&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SOP&amp;#039;&amp;#039;&amp;#039;; {{deS|„&amp;#039;&amp;#039;Gleiche-Herkunft-Richtlinie&amp;#039;&amp;#039;“}}) ist ein [[Sicherheitskonzept]], das [[Client Side Scripting#Programmiersprachen|clientseitigen Skriptsprachen]] wie [[JavaScript]] und [[ActionScript]], aber auch [[Cascading Style Sheets]] untersagt, auf Objekte (zum Beispiel Grafiken) zuzugreifen, die von einer anderen Webseite stammen oder deren Speicherort nicht der &amp;#039;&amp;#039;Origin&amp;#039;&amp;#039; entspricht. Sie stellt ein wesentliches Sicherheitselement in allen modernen [[Browser]]n und [[Webanwendung]]en zum Schutz vor Angriffen dar.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Die Same-Origin-Policy wurde 1996 von [[Netscape Communications|Netscape]] mit JavaScript in [[Netscape Navigator]] 2.0 eingeführt.&amp;lt;ref&amp;gt;[http://sillydog.org/netscape/verinfo.php Netscape Browser Archive]. Abgerufen am 12. Oktober 2008.&amp;lt;/ref&amp;gt; Sie wurde von anderen Herstellern in deren JavaScript-Implementierungen bzw. proprietären Skriptsprachen, etwa [[JScript]], übernommen.&lt;br /&gt;
&lt;br /&gt;
== Hintergrund ==&lt;br /&gt;
Den Hintergrund für die große Bedeutung der SOP bildet im Wesentlichen die Kombination aus zwei Tatsachen:&lt;br /&gt;
&lt;br /&gt;
* Skriptsprachen im Browser haben über das [[Document Object Model]] (DOM) direkten Zugriff auf die gesamte Kommunikation zwischen Browser und [[Webserver]]. Dies beinhaltet sowohl das Auslesen als auch die Manipulation von Daten und betrifft neben dem Empfangen auch das Senden von Daten.&lt;br /&gt;
* Das Vertrauensverhältnis zwischen Browser (bzw. Anwender) und verschiedenen Webseiten kann extrem unterschiedlich sein.&lt;br /&gt;
&lt;br /&gt;
Daraus ergibt sich die Anforderung, dass keine Informationen aus einem Kontext (zum Beispiel der Verbindung des Browsers zu der Seite einer Bank) von einem Skript aus einem anderen Kontext zugreifbar oder manipulierbar sein dürfen. Um dies zu erreichen, wird beim Zugriff eines Skriptes auf ein Objekt einer Webseite die Herkunft (origin) von beiden verglichen.&lt;br /&gt;
&lt;br /&gt;
== Vergleich der Herkunft (origin) ==&lt;br /&gt;
Als Herkunft wird dabei die Kombination aus [[Kommunikationsprotokoll|Protokoll]] (zum Beispiel [[HTTP]] oder [[HTTPS]]), [[Domain (Internet)|Domain]] und [[Port (Netzwerkadresse)|Port]] in der [[URL]] definiert. Nur wenn alle drei gleich sind, gilt die SOP als erfüllt und der Skript-Zugriff ist möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Ein in der Datei &amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://www.example.com/dir/page.html&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039; eingebettetes Skript versucht, auf ein Element in den folgenden Seiten zuzugreifen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! angesprochene URL&lt;br /&gt;
! Ergebnis&lt;br /&gt;
! Grund&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;/dir/page2.html&lt;br /&gt;
| {{Yes|Success}}&lt;br /&gt;
| selbes Protokoll, Host und Port&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;/dir2/other.html&lt;br /&gt;
| {{Yes|Success}}&lt;br /&gt;
| selbes Protokoll, Host und Port&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;http://&amp;#039;&amp;#039;&amp;#039;username:password@&amp;#039;&amp;#039;&amp;#039;www.example.com&amp;#039;&amp;#039;&amp;#039;/dir2/other.html&lt;br /&gt;
|{{Yes|Success}}&lt;br /&gt;
|selbes Protokoll, Host und Port&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;:&amp;#039;&amp;#039;&amp;#039;81&amp;#039;&amp;#039;&amp;#039;/dir/other.html&lt;br /&gt;
| {{No|Failure}}&lt;br /&gt;
| selbes Protokoll und Host, aber anderer Port&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;https&amp;#039;&amp;#039;&amp;#039;://www.example.com/dir/other.html&lt;br /&gt;
| {{No|Failure}}&lt;br /&gt;
| anderes Protokoll&lt;br /&gt;
|-&lt;br /&gt;
| http://&amp;#039;&amp;#039;&amp;#039;en.example.com&amp;#039;&amp;#039;&amp;#039;/dir/other.html&lt;br /&gt;
| {{No|Failure}}&lt;br /&gt;
| anderer Host&lt;br /&gt;
|-&lt;br /&gt;
| http://&amp;#039;&amp;#039;&amp;#039;example.com&amp;#039;&amp;#039;&amp;#039;/dir/other.html&lt;br /&gt;
| {{No|Failure}}&lt;br /&gt;
| anderer Host (genaue Übereinstimmung benötigt, hier ist eine Ausnahme möglich, s.&amp;amp;nbsp;u.)&lt;br /&gt;
|-&lt;br /&gt;
| http://&amp;#039;&amp;#039;&amp;#039;v2.www.example.com&amp;#039;&amp;#039;&amp;#039;/dir/other.html&lt;br /&gt;
| {{No|Failure}}&lt;br /&gt;
| anderer Host (genaue Übereinstimmung benötigt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;:&amp;#039;&amp;#039;&amp;#039;80&amp;#039;&amp;#039;&amp;#039;/dir/other.html&lt;br /&gt;
| {{N/A}}&lt;br /&gt;
| Port eindeutig. Hängt von der Implementierung des Browsers ab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eine Ausnahme bilden [[Subdomain]]s: Über eine spezielle DOM-Eigenschaft kann zum Beispiel ein Skript aus der Domain www.example.com den Kontext auf die übergeordnete Domain example.com setzen und damit auf Objekte dieser Domain zugreifen. Das gilt trotzdem nicht für den Zugriff auf andere Subdomains.&amp;lt;ref&amp;gt;Mozilla: &amp;#039;&amp;#039;{{Webarchiv|url=https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript |wayback=20081014022433 |text=Same origin policy for JavaScript |archiv-bot=2023-01-05 18:23:13 InternetArchiveBot }}&amp;#039;&amp;#039;. Abgerufen am 12. Oktober 2008.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grenzen und Probleme ==&lt;br /&gt;
Die Grenzen der Same-Origin-Policy sind in zweierlei Hinsicht von Bedeutung:&lt;br /&gt;
&lt;br /&gt;
* Die SOP ist als Sicherheitsmechanismus nicht ausreichend wirksam. Viele aktuelle Angriffsmethoden wie [[DNS Rebinding]] und [[Cross-Site-Request-Forgery]] zielen erfolgreich darauf ab, die SOP zu umgehen.&lt;br /&gt;
* Andererseits sind die von der SOP gezogenen Grenzen in vielen Fällen unerwünscht. Insbesondere mit dem Aufkommen von [[Ajax (Programmierung)|Ajax]]-basierenden Anwendungen und [[Mashup (Internet)|Mashups]] gibt es legitimerweise den Wunsch, die Grenzen der SOP zu überschreiten. Eine Möglichkeit bietet das [[Cross-Origin Resource Sharing]] (CORS), das es einem Server erlaubt, gezielt zu bestimmen, welche Seiten trotz ihrer fremden Herkunft Zugriff auf die Antwort haben sollen. CORS muss vom Browser explizit unterstützt werden. CORS wird von allen relevanten Browsern unterstützt&amp;lt;ref&amp;gt;{{Internetquelle |url=https://developer.mozilla.org/de/docs/Web/HTTP/CORS |titel=Cross-Origin Resource Sharing (CORS) - HTTP {{!}} MDN |sprache=en-US |abruf=2022-01-05}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Cross-Site-Scripting]] (XSS)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
* Daniel Bachfeld: &amp;#039;&amp;#039;[https://www.heise.de/security/artikel/Einfallstor-Browser-270092.html Dunkle Flecken, Neuartige Angriffe überrumpeln Webanwender]&amp;#039;&amp;#039;. Heise Security.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:IT-Sicherheit]]&lt;br /&gt;
[[Kategorie:Webbrowser]]&lt;br /&gt;
[[Kategorie:JavaScript]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ephraim33</name></author>
	</entry>
</feed>