Frame-Hijacking verhindern
Framebreaker
- javascript
0 Framebreaker1 ChrisB
0 krischi0 Framebreaker0 suit
2 Chräcker Heller0 ritschmanhard
Hi,
öffnet man ein HTML Dokument, das top.location... mit JS überschreibt, so geht das übergeordnete Dokument abhanden.
Wie kann sich das "äußere" davor schützen? Also wie stellt man sicher, dass ein im iFrame eingebundenes Objekt auch im iFrame bleibt?
Besten Dank
zum Beispiel kann man das Problem nachvollziehen beim Versuch, http://guru-world.net/ in einem iFrame einzubinden.
Hi,
zum Beispiel kann man das Problem nachvollziehen beim Versuch, http://guru-world.net/ in einem iFrame einzubinden.
Der Betreiber dieser Seite will also offenbar nicht, dass du das tust.
MfG ChrisB
moinmoin
ähm... bin etwas begriffsstutzig... wie rum meinst du?
du hast nen iFrame den du schützen willst?
if (top.location != self.location) {
top.location = self.location.href
}
oder du willst einen anderen iFrame bei dir einbinden und dessen *Schutz* umgehen?
Gruß Krischi
Moin Krischi,
oder du willst einen anderen iFrame bei dir einbinden und dessen *Schutz* umgehen?
Letzteres. Dachte eigentlich immer, dass das äußere Element mehr zu sagen hat und nicht einfach so überschrieben werden kann...
»» oder du willst einen anderen iFrame bei dir einbinden und dessen *Schutz* umgehen?
Letzteres.
Dann Frage den Seitenbetreiber, der dir sicher gestattet hat, seine Inhalte in einem Schaufenster einzubinden, ob er für deine Domain eine Ausnahme definiert.
Hallo,
Hi,
öffnet man ein HTML Dokument, das top.location... mit JS überschreibt, so
geht das übergeordnete Dokument abhanden.
ich denke, indem man dafür sorgt, daß die "eingebettete" Seite die top.location nicht überschreibt. Hat man keinen Zugriff auf diese eingebettete Seite, kann man ja denjenigen fragen, der das hat.
Möchte derjenige das aber nicht, kann man nur mit den Schultern zucken.
Chräcker
Und es geht doch...
Allerdings ist dafür ein nicht unwesentlicher Aufwand notwendig (Proxy Prinzip). Wie es geht:
Du holst dir mittels einer serverseitigen Sprache (Perl, PHP, etc) die einzubettende Seite(n) als Beispiel von http://example.com ab.
Dann führst sie durch hinzufügen von "top=self" im Header in die Irre. Weiterhin passt du den so erhaltenen Code mittels ServerSide includes in deine Seite ein.
Folgende Probleme sind zu bewältigen:
Trotzdem der Tip, denn es gibt ja durchaus Fälle, in denen mir dein Vorgehen OK scheint - z.B. du hast nen localhost server laufen, weil du dir (nur für dich) eine Seite erstellen willst, die deine Lieblingsseiten in IFRAMES zusammenfasst...
Grüße,
Richard