location.href / "verbotener Zugriff auf fremde Domain"
Bernhard Henselmann
- javascript
Hallo,
einige Zeit versuchte ich mit einem kleinen JavaScript die URL (einer fremden Domain) einer in einem Unterframe geladenen Seite auszulesen, mit dem Ziel, diese URL dann als top.location zu laden.
Wie ich nun aus dem sefhtml-Archiv erfahten habe, ist dies ein "verbotener Zugriff" (das hat natürlich auch der Browser gemeldet).
Kennt jemand eine Möglichkeit, dies irgend wie zu umgehen? Gibt es andere Möglichkeiten das mit JavaScript zu lösen?
Es kann doch nicht verboten sein, eine "fremde" Seite aus meinem eigenen Frameset zu befreien - oder?
Hi
Es kann doch nicht verboten sein, eine "fremde" Seite aus meinem eigenen Frameset zu befreien - oder?
Naja, JavaScript kann ja nicht so richtig wissen, was Du vor hast, deshalb ist es eben manchmal sehr restriktiv. Wobei mir allerdings auch nicht ganz klar ist, was so schlimm daran ist, einfach nur die URL auszulesen. (Koennte es sein, dass das nicht mit allen Browsern so ist?)
Wie ist denn die Seite ueberhaupt da reingekommen (in das Frameset)? Vielleicht solltest Du sie gleich richtig oeffnen?
Calocybe
Hi
Es kann doch nicht verboten sein, eine "fremde" Seite aus meinem eigenen Frameset zu befreien - oder?
Naja, JavaScript kann ja nicht so richtig wissen, was Du vor hast, deshalb ist es eben manchmal sehr restriktiv. Wobei mir allerdings auch nicht ganz klar ist, was so schlimm daran ist, einfach nur die URL auszulesen. (Koennte es sein, dass das nicht mit allen Browsern so ist?)
Wie ist denn die Seite ueberhaupt da reingekommen (in das Frameset)? Vielleicht solltest Du sie gleich richtig oeffnen?
Ich möchte dem Surfer die Gelegenheit bieten, einen externen Link von meiner Site aus aufzurufen, ohne daß er sich ganz von meiner Site verabschiedet. Denn das ist nicht immer für den Surfer ersichtlich. Also mache ich die externe Seite in einem Frameset auf, in dem eine ganz kleine "Steuer"-Leiste in dem einen Frame und die externe Seite in dem hauptframe erscheint. Die Steuerleiste bietet dem Surfer zum einen die Möglichkeit auf exakt die Seite von mir zurückzuspringen, von wo er den externen Link aufgerufen hat. Zum anderen soll in der Steuerleiste auch die Möglichkeit geboten werden mit einem Mausklick den Frameset bewußt aufzulösen und die externe Seite top-zuladen.
Das Problem dabei ist nicht, den von mir festgelegten externen Link top-zuladen, denn diese URL kann ich dem Button in meiner Steuerleiste mitgeben. Vielmehr soll die im Hauptfenster aktuelle Seite top-geladen werden, auch wenn der Surfer sich schon ein wenig in der externen Site rumbewegt hat.
Gibt‚s hier eine technische Lösung für?
Gruß
Bernhard
Hallo Bernhard,
problematisch ist das Auslesen des URL sicherlich nicht, doch über die document- bzw. frame-Properties würde so ziemlich jeder Zugriff auf die Seiteninterna ermöglicht. Beispiel: Javascript-Funktionen und Variablen. M.E. ist dieser Schutzmechanismus unerläßlich, um vor allem aktive Seiten (insbesondere mit Javascript gestaltete) zu schützen.
Der mögliche Mißbrauch ist recht einfach zu skizzieren: stelle Dir ein Frameset vor, das aus 2 Frames besteht: einem, das den gesamten Bildschirmbereich einnimmt, und einem unsichtbaren Frame. Im unsichtbaren Frame wird protokolliert, welche Seiten im ersten Frame angezeigt wurden. So, und nun wird dieses Protokoll an einen Server geschickt, ohne daß man es merkt!! Diese Site z.B. mittels Javascript zu realisieren, kostet einen mittleren Javascript-Programmierer sicherlich keinen allzu großen Aufwand...
Ciao Jörg
Hallo,
einige Zeit versuchte ich mit einem kleinen JavaScript die URL (einer fremden Domain) einer in einem Unterframe geladenen Seite auszulesen, mit dem Ziel, diese URL dann als top.location zu laden.
Wie ich nun aus dem sefhtml-Archiv erfahten habe, ist dies ein "verbotener Zugriff" (das hat natürlich auch der Browser gemeldet).
Kennt jemand eine Möglichkeit, dies irgend wie zu umgehen? Gibt es andere Möglichkeiten das mit JavaScript zu lösen?
Es kann doch nicht verboten sein, eine "fremde" Seite aus meinem eigenen Frameset zu befreien - oder?