Seite 1 von 1
serverseitiger Framebreaker
Verfasst: 30.08.2006, 21:20
von Firtz
Hallo,
gibt es die Möglichkeit serverseitig (z.B. mit php) die eigene Webseite aus fremden Frames zu befreien.
Die clientseitige Möglichkeit mittels JavaScript ist bekannt, aber ungeeignet, da sie sich deaktivieren lässt.
Viel Grüße
Firtz
Verfasst: 30.08.2006, 22:04
von net(t)worker
woher soll denn der server wissen, dass die webseite in einem Frame dargestellt werden soll....

Verfasst: 30.08.2006, 23:03
von Kralle
Da ein Frame erst vom Clienten dargestellt wird, ist auch nur eine clientseitig Lösung machbar!
Die einzige (wenig praktikable) Möglichkeit wäre, bestimmte Referrer auszusperren.
Verfasst: 31.08.2006, 02:45
von sfancy
Bei mir haben alle Links den Zusatz target="_top". Der Frame wird dann zwar nicht direkt entfernt, aber sobald der Besucher auf einen Link klickt.
Das ist die einzigste Lösung ohne JavaScript, die ich kenne.
Verfasst: 31.08.2006, 08:44
von Firtz
Hallo,
Kralle hat geschrieben:Da ein Frame erst vom Clienten dargestellt wird, ist auch nur eine clientseitig Lösung machbar!
So etwas habe ich erwartet / befürchtet.
sfancy hat geschrieben:Bei mir haben alle Links den Zusatz target="_top".
Stimmt, das sollte ich generell auch machen, auch wenn es das eigentliche Problem nicht behebt. Daran habe ich noch gar nicht gedacht. Danke
Grüße
Firtz
Verfasst: 31.08.2006, 10:32
von Lutz-Development
Folgende (aufwändige) Möglichkeit gäbe es vielleicht serverseitig:
PHP-Script über dem Frameset, das bei seinem Aufruf einen zufälligen Code erzeugt, diesen in der Datenbank speichert und an den aufgerufenen Unterframe übergibt.
Beim Aufruf des Unterframes prüft dieser wiederum, ob der entsprechende Code sich in der Datenbank befindet, falls ja, löscht er diesen wieder raus und zeigt seinen Inhalt an, falls nein, zeigt er nichts an.
Wäre meiner Meinung nach zu viel des Guten... aber sollte klappen.
Gruß,
Thomas
Verfasst: 31.08.2006, 10:37
von net(t)worker
Lutz-Development hat geschrieben:Folgende (aufwändige) Möglichkeit gäbe es vielleicht serverseitig:
PHP-Script über dem Frameset, das bei seinem Aufruf einen zufälligen Code erzeugt, diesen in der Datenbank speichert und an den aufgerufenen Unterframe übergibt.
Beim Aufruf des Unterframes prüft dieser wiederum, ob der entsprechende Code sich in der Datenbank befindet, falls ja, löscht er diesen wieder raus und zeigt seinen Inhalt an, falls nein, zeigt er nichts an.
Wäre meiner Meinung nach zu viel des Guten... aber sollte klappen.
Gruß,
Thomas
naja.... das Problem wird aber wohl sein, dass er selber keinerlei Zugriff auf das Frameset hat in dem seine site eingebunden wird....
Verfasst: 31.08.2006, 10:43
von Firtz
Hallo,
so aufwändig wäre das doch gar nicht. Das ist eine gute Idee, wenn man selbst Frames verwendet und verhindern will, das diese in fremden Frames geöffnet werden.
Allerdings verwende ich keine Frames und habe auch nicht vor dies zu tun. Dennoch danke für den Vorschlag.
Viele Grüße
Firtz
Verfasst: 31.08.2006, 10:52
von aquila
sfancy hat geschrieben:Bei mir haben alle Links den Zusatz target="_top". Der Frame wird dann zwar nicht direkt entfernt, aber sobald der Besucher auf einen Link klickt.
Das ist die einzigste Lösung ohne JavaScript, die ich kenne.
Geht auch kürzer mit einem <base target="_top"> im <head> Bereich.
Verfasst: 31.08.2006, 13:08
von Firtz
Hallo,
aquila hat geschrieben:Geht auch kürzer mit einem <base href="_top"> im <head> Bereich.
Du meinst sicher: <base target="_top">
Wenn im <head>-Bereich <base target="_top"> steht und einer der Links im <a>-Tag target="_blank" stehen hat, dann ist bei diesem Link bei allen Browsern (IE, Opera...) das _blank dominant (sprich der Link öffnet sich in einem neuen Fenster), oder?
Viele Grüße
Firtz
Verfasst: 04.09.2006, 11:40
von Lutz-Development
naja.... das Problem wird aber wohl sein, dass er selber keinerlei Zugriff auf das Frameset hat in dem seine site eingebunden wird....
Verstehe nicht, was du mir damit sagen willst.
Verfasst: 04.09.2006, 14:27
von net(t)worker
Lutz-Development hat geschrieben:naja.... das Problem wird aber wohl sein, dass er selber keinerlei Zugriff auf das Frameset hat in dem seine site eingebunden wird....
Verstehe nicht, was du mir damit sagen willst.
er hat garkein Fameset auf seiner Seite..... also kann er in ein Frameset keinen speziellen code einbauen...
er will einfach verhindern, dass jemand anderes seine Website in einem Frameset einbindet... und das ist mit der von dir vorgeschlagenen Lösung nicht erreichbar....
Verfasst: 05.09.2006, 01:48
von Lutz-Development
Ok, damit hast du natürlich recht. Selbst ein unsichtbares Frameset wäre keine Lösung, weil man dann einfach das Frameset in seinem eigenen Frame framed.
