iframe same-origin sandbox
bearbeitet von
Hallo Henry,
> > Die Erklärung ist falsch. `allow-same-origin` erlaubt es dem Dokument, die Origin zu behalten. Ansonsten wäre das eingebettete Dokument in einer eigenen, unique Origin. Z.B. wen…
> >
>
> Danke, aber so ganz hab ich es noch nicht verstanden.
OK. Ich versuchs nochmal anders. Stell dir vor du hast eine Seite auf example.com, die diesen Code enthält:
~~~html
<iframe src="http://example.org/foo"></iframe>
~~~
Dieser iframe wir keinen Zugriff auf Daten der Origin `example.org` haben. Keine Cookies, kein `localStorage`, nichts. Wenn du dagegen den Code änderst auf diesen:
~~~html
<iframe src="http://example.org/foo" sandbox="allow-same-origin"></iframe>
~~~
dann erhält die Seite auf einmal Zugriff auf die Daten der Domain, also Cookies, localStorage, etc. Ich hab das mal nachgestellt: <https://static.wwwtech.de/test.html> enthält das einzubettende Dokument, der nichts anderes macht als ein Datum in den `localStorage` zu schreiben und wieder auszulesen. <https://static.wwwtech.de/test1.html> enthält zwei iframes, die die erste URL einbinden: eins mit `sandbox="allow-scripts"` und eins mit `sandbox="allow-scripts allow-same-origin"`. Das erste Dokument darf den `localStorage` nicht auslesen und bekommt dadurch sogar eine Exception. Das zweite Dokument darf den `localStorage` auslesen.
Freundliche Grüße,
Christian Kruse
--
<https://wwwtech.de/about>