Christian Kruse: iframe same-origin sandbox

Beitrag lesen

problematische Seite

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:

<iframe src="http://example.org/foo" sandbox></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:

<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