Jaka jest różnica między ramką iFrame a ramką?

91

Patrząc na opcje osadzania strony 3D Secure we własnym formularzu zamówienia, natknąłem się na następujące rzeczy:

„Niektóre witryny handlowe poświęcają uwierzytelnianie całą stronę przeglądarki zamiast używać ramki (niekoniecznie ramki iFrame, która i tak jest mniej bezpiecznym obiektem)”.

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

Czy ktoś może mi wyjaśnić, dlaczego ramki iframe są mniej bezpieczne i powodują problemy w przeciwieństwie do zwykłych ramek? Jakie są podstawowe różnice?

Sposób, w jaki to widzę, iframejest drogą do zrobienia.

Duncan
źródło
Zajrzyj tutaj .
Daniel Dušek,
2
<frame>jest przestarzały w HTML5, więc nie powinieneś go już używać.
Michael Hays,

Odpowiedzi:

65

Różnica polega na tym, że element iframe może „pływać” w treści strony, to znaczy można utworzyć stronę html i umieścić w niej element iframe. Dzięki temu możesz mieć stronę i bezpośrednio na niej umieścić inny dokument. A framesetumożliwia podzielenie ekranu na różne strony (w poziomie i w pionie) i wyświetlanie różnych dokumentów w każdej części.

Przeczytaj podsumowanie bezpieczeństwa ramek iFrames .

rahul
źródło
Czy nie wygląda na to, że te problemy z bezpieczeństwem miałyby zastosowanie do mnie, ponieważ bezpośrednio odnosiłbym się do bezpiecznej witryny (i takiej, której ufam w 100%), więc nie widzisz, jak osoba atakująca może to sabotować?
Duncan,
14

IFrame to po prostu „wewnętrzna ramka”. Powodem, dla którego można go uznać za mniej bezpieczną (niż w ogóle nieużywanie jakiejkolwiek ramki), jest to, że możesz dołączyć zawartość, która nie pochodzi z Twojej domeny.

Wszystko to oznacza, że ​​powinieneś ufać wszystkiemu, co umieścisz w ramce iFrame lub zwykłej ramce.

Ramki i ramki iFrame są równie bezpieczne (i niebezpieczne, jeśli dołączasz zawartość z niezaufanego źródła).

Dan Herbert
źródło
Treść, która nie pochodzi z Twojej domeny, możesz również umieszczać w zwykłych ramkach.
Quentin,
@David, prawdopodobnie powinienem był to wyraźnie powiedzieć. Wydaje mi się, że to zasugerowałem, ale tak naprawdę nigdy tego nie powiedziałem. Zaktualizuję odpowiedź, aby była bardziej zrozumiała. Dzięki!
Dan Herbert,
i w iframe faktycznie oznacza inline
Simon Zyx
7

iframes są często używane do dołączania całych stron. Kiedy te strony są hostowane w innej domenie, pojawiają się problemy ze skryptami krzyżowymi i innymi rzeczami. Istnieją sposoby, aby to naprawić.

Ramki zostały użyte do podzielenia strony na wiele części (na przykład menu nawigacyjne po lewej stronie). Używanie ich nie jest już zalecane.

Ivo
źródło
„Ramki służą do podziału strony na wiele części. Na przykład menu po lewej”. Lata 90-te dzwonią i chcą wrócić. Należy nie używać ramek do tego. Było to powszechne kilka lat temu, ale teraz powinieneś przez większość czasu używać dołączeń po stronie serwera i css do tworzenia menu. Pozwala na znacznie większą elastyczność w dłuższej perspektywie. velvetblues.com/web-development-blog/… ma trochę informacji na ten temat.
Esteban Küber,
13
Wiem :) Chciałem tylko wyjaśnić, gdzie ramy "były" używane (100 lat temu;))
Ivo
5

Jedyne powody, które przychodzą mi do głowy, znajdują się w artykule wiki, o którym wspomniałeś, aby wspomnieć o kilku ...

„System„ Verified by Visa ”spotkał się z pewną krytyką, ponieważ użytkownikom trudno jest odróżnić prawidłowe okienko wyskakujące Verified by Visa lub ramkę wbudowaną od oszukańczej witryny phishingowej”.

„od 2008 r. większość przeglądarek internetowych nie zapewnia prostego sposobu sprawdzania certyfikatu bezpieczeństwa zawartości elementu iframe”

Jeśli przeczytasz sekcję Krytyka w artykule, zawiera ona szczegółowe informacje o wszystkich potencjalnych lukach w zabezpieczeniach.

W przeciwnym razie jedyną różnicą jest fakt, że ramka iFrame jest ramką wbudowaną, a ramka jest częścią zestawu ramek . Co oznacza więcej problemów z układem niż cokolwiek innego!

James
źródło
4

Ramka wbudowana to tylko jedno „pudełko”, które można umieścić w dowolnym miejscu witryny. Ramki to zbiór „pudełek” ułożonych w jedną witrynę z wieloma stronami.

khan iffat
źródło
-1

Chociaż zabezpieczenia są takie same, oszukańczym aplikacjom może być łatwiej oszukać użytkowników za pomocą elementu iframe, ponieważ mają oni większą elastyczność co do miejsca umieszczenia ramki.

user1213898
źródło