es ging doch etwas schneller als gedacht, aber nicht ganz mit dem erwarteten Ergebnis. D.h. mit meiner nachgebildeten Konstruktion habe ich nun durchaus von Fenster3 Zugriff auf Fenster1 (wie natürlich auch von Fenster3 auf Fenster2):
http://stork.gmxhome.de/selfhtml/Fenster1.htm
Guck ich mir später an.
Ich hatte auch mal an dem ganzen gebastelt und hier auf dem alten Rechner ist der IE (4) dann abgestürzt.
Aber soweit ich das schon gesehen hatte, hast du recht - nicht ich.
In dem Beispiel ist es nun also durchgängig. Stellt es denn eine Verletzung der Same-Origin-Policy dar? Und wenn - ist es eine Sicherheitslücke?
Hmm, dafür bin ich nicht schlau genug. Ich denke aber nicht, du bindest ja freiwillig den Code einer fremden Seite ein, dieser ist dann auch auf deiner Domain.
Ich meine mich daran zu erinnern das dies ausgenutzt wurde, um Besucherverhalten auszuspionieren. Da du mit einem Skript (z.b. für Werbung) von einer Domain, das auf verschiedenen Domains eingebunden wird einen User quasi verfolgen könntest. Insofern macht es Sinn dass es so ist, wie du es sagst, da das Skript dann nur noch auf Cookies der Domain, die es einbindet zugreifen kann und nicht von der von der das Skript ist.
Klingt kompliziert, angenommen du besuchst abc.de und danch def.de die jeweils ein Skript von xyz.de einbinden
www.abc.de xyz.de
(bindet ein) <---- script.js (setzt cookie SID=1)
[cookie: SID=1] und nicht hier [cookie SID=1]
www.def.de
(bindet ein) <---- script.js
Das Skript kann dann nicht das Cookie von abc.de lesen. Würde das Cookie von der Domain xyz.de kommen, schon und xyz.de hätte die Möglichkeit deinen Weg zu verfolgen.
Könnte es evtl. daran liegen, dass Fenster2 NICHT per window.open() aufgerufen wird? Wie kann ich das feststellen? Immerhin lässt sich der Aufruf mit einem Popup-Blocker unterdrücken, was m.E. für window.open() spricht.
Muss ich auch nochmal drüber nachdenken ;-)
Struppi.