Was ist der Unterschied zwischen IFrame und Frame?


91

Bei der Suche nach Optionen zum Einbetten der 3D Secure-Seite in mein eigenes Bestellformular bin ich auf Folgendes gestoßen:

"Einige Commerce-Websites widmen die gesamte Browserseite der Authentifizierung, anstatt einen Frame zu verwenden (nicht unbedingt einen iFrame, der ohnehin ein weniger sicheres Objekt ist)."

von http://en.wikipedia.org/wiki/3-D_Secure

Kann mir jemand erklären, warum Iframes weniger sicher sind und im Gegensatz zu normalen Frames Probleme verursachen? Und was sind die grundlegenden Unterschiede?

Der Weg, den ich sehe, iframeist der Weg zu gehen.


Schauen Sie hier .
Daniel Dušek

2
<frame>ist in HTML5 veraltet, daher sollten Sie es nicht mehr verwenden.
Michael Hays

Antworten:


63

Der Unterschied besteht darin, dass ein Iframe innerhalb des Inhalts einer Seite "schweben" kann, dh Sie können eine HTML-Seite erstellen und einen Iframe darin positionieren. Auf diese Weise können Sie eine Seite erstellen und ein anderes Dokument direkt darin platzieren. Mit A framesetkönnen Sie den Bildschirm in verschiedene Seiten (horizontal und vertikal) aufteilen und in jedem Teil verschiedene Dokumente anzeigen.

Lesen Sie die IFrames-Sicherheitsübersicht .


Sieht nicht so aus, als würden diese Sicherheitsprobleme auf mich zutreffen, da ich direkt auf eine sichere Site verweise (und eine, der ich zu 100% vertraue). Sehen Sie also nicht, wie ein Angreifer dies sabotieren könnte?
Duncan

14

IFrame ist nur ein "interner Frame". Der Grund, warum es als weniger sicher angesehen werden kann (als überhaupt keine Art von Frame zu verwenden), liegt darin, dass Sie Inhalte einschließen können, die nicht von Ihrer Domain stammen.

Dies bedeutet lediglich, dass Sie dem vertrauen sollten, was Sie in einem iFrame oder einem regulären Frame enthalten.

Frames und IFrames sind gleichermaßen sicher (und unsicher, wenn Sie Inhalte aus einer nicht vertrauenswürdigen Quelle einfügen).


Sie können auch Inhalte, die nicht von Ihrer Domain stammen, in reguläre Frames aufnehmen.
Quentin

@ David, ich hätte das wahrscheinlich explizit angeben sollen. Ich denke, ich habe das impliziert, aber nie wirklich gesagt. Ich werde meine Antwort aktualisieren, um das klarer zu machen. Vielen Dank!
Dan Herbert

Das i in iframe steht eigentlich für Inline
Simon Zyx

5

Die einzigen Gründe, an die ich denken kann, sind in dem Wiki-Artikel, auf den Sie verwiesen haben , um ein paar zu erwähnen ...

"Das" Verified by Visa "-System hat einige Kritik hervorgerufen, da es für Benutzer schwierig ist, zwischen dem legitimen Verified by Visa-Popup-Fenster oder Inline-Frame und einer betrügerischen Phishing-Site zu unterscheiden."

"Ab 2008 bieten die meisten Webbrowser keine einfache Möglichkeit, das Sicherheitszertifikat auf den Inhalt eines Iframes zu überprüfen."

Wenn Sie den Abschnitt Kritik im Artikel lesen, werden alle potenziellen Sicherheitslücken aufgeführt.

Ansonsten besteht der einzige Unterschied darin, dass ein IFrame ein Inline-Frame und ein Frame Teil eines Framesets ist . Das bedeutet mehr Layoutprobleme als alles andere!


5

iframes werden häufig verwendet, um vollständige Seiten einzuschließen. Wenn diese Seiten auf einer anderen Domain gehostet werden, treten Probleme mit Cross-Side-Scripting und anderen Dingen auf. Es gibt Möglichkeiten, dies zu beheben.

Frames wurden verwendet, um Ihre Seite in mehrere Teile zu unterteilen (z. B. ein Navigationsmenü auf der linken Seite). Die Verwendung wird nicht mehr empfohlen.


"Frames werden verwendet, um Ihre Seite in mehreren Teilen zu erraten. Wie zum Beispiel ein Menü auf der linken Seite." Die 90er haben angerufen und wollen dich zurück. Sie sollten hierfür keine Frames verwenden. Das war vor einigen Jahren üblich, aber jetzt sollten Sie die meiste Zeit serverseitige Includes und CSS verwenden, um Ihr Menü zu erstellen. Dies ermöglicht auf lange Sicht eine weitaus größere Flexibilität. velvetblues.com/web-development-blog/… enthält einige Informationen zu diesem Thema.
Esteban Küber

13
Ich weiß :) Ich wollte nur erklären, wo Frame "verwendet" wurde (vor 100 Jahren;))
Ivo

4

Inline-Rahmen ist nur eine "Box" und Sie können ihn überall auf Ihrer Site platzieren. Frames sind eine Reihe von "Boxen", die zu einer Site mit vielen Seiten zusammengefügt werden.


-1

Während die Sicherheit gleich ist, kann es für betrügerische Anwendungen einfacher sein, Benutzer mit einem Iframe zu täuschen, da sie flexibler sind, wo der Frame platziert wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.