Яка різниця між IFrame та Frame?


91

Переглядаючи варіанти вбудування сторінки 3D Secure у мою власну форму замовлення, я натрапив на таке:

"Деякі комерційні сайти присвячують повну сторінку браузера аутентифікації, а не використанню фрейму (не обов'язково iFrame, який у будь-якому випадку є менш захищеним об'єктом)."

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

Хто-небудь може дати мені мінімум, чому iframes менш захищені та викликають проблеми, на відміну від звичайних кадрів? І в чому основні відмінності?

Я бачу це, iframeце шлях.


Погляньте тут .
Даніель Душек

2
<frame>застаріло в HTML5, тому вам більше не слід його використовувати.
Майкл Хейс,

Відповіді:


65

Різниця полягає в тому, що iframe може «плавати» всередині вмісту на сторінці, тобто ви можете створити HTML-сторінку та розташувати iframe всередині неї. Це дозволяє мати сторінку та розмістити інший документ безпосередньо в ній. A framesetдозволяє розділити екран на різні сторінки (по горизонталі та вертикалі) і відображати різні документи в кожній частині.

Прочитайте резюме безпеки IFrames .


Не схоже, що ці проблеми безпеки стосуватимуться мене, оскільки я безпосередньо посилаюся на захищений сайт (і на той, якому я на 100% довіряю), тому не бачу, як зловмисник міг це саботувати?
Дункан

14

IFrame - це просто "внутрішній фрейм". Причина, по якій його можна вважати менш безпечним (ніж взагалі не використовувати будь-який фрейм), полягає в тому, що ви можете включити вміст, який не походить з вашого домену.

Все це означає, що ви повинні довіряти тому, що ви включаєте в iFrame або звичайний фрейм.

Кадри та IF-кадри однаково безпечні (і небезпечні, якщо ви включаєте вміст із ненадійного джерела).


Ви також можете включити вміст, який не походить з вашого домену, у звичайні кадри.
Квентін

@David, я, мабуть, мав би це прямо сказати. Здається, я мав на увазі це, але ніколи насправді не заявив про це. Я оновлю свою відповідь, щоб зробити це більш зрозумілим. Дякую!
Ден Герберт

i в iframe насправді означає вбудований
Simon Zyx

7

iframes часто використовуються для включення цілих сторінок. Коли ці сторінки розміщуються в іншому домені, у вас виникають проблеми з перехресними сценаріями та іншим. Є способи це виправити.

Рамки використовувались для розділення вашої сторінки на кілька частин (наприклад, навігаційне меню ліворуч). Використовувати їх більше не рекомендується.


"Рамки використовуються для чарування вашої сторінки у багатьох частинах. Як, наприклад, меню зліва". 90-ті зателефонували і хочуть повернутись назад. Для цього не слід використовувати кадри. Це було звичним робити кілька років тому, але зараз ви повинні більшу частину часу використовувати серверні включення та css для створення свого меню. Це забезпечує значно більшу гнучкість у довгостроковій перспективі. velvetblues.com/web-development-blog/… містить деяку інформацію на цю тему.
Естебан Кюбер,

13
Я знаю :) Я просто хотів пояснити, для чого використовувався фрейм (100 років тому;))
Іво,

5

Єдині причини, про які я можу думати, насправді є у статті wiki, на яку ви посилалися, щоб згадати пару ...

"Система" Перевірено Visa "викликала певну критику, оскільки користувачам важко розрізнити легітимне спливаюче вікно Verified by Visa або вбудований фрейм, а також шахрайський фішинговий сайт".

"станом на 2008 р. більшість веб-браузерів не пропонують простий спосіб перевірки сертифіката безпеки на вміст iframe"

Якщо ви прочитаєте розділ " Критика " у цій статті, там детально описуються всі потенційні недоліки безпеки.

В іншому випадку різниця полягає лише в тому, що IFrame - це вбудований кадр, а Frame - це частина Frameset . Що означає більше проблем із макетом, ніж будь-що інше!


4

Вбудована рамка - це лише одна «коробка», і ви можете розмістити її де завгодно на своєму сайті. Рамки - це купа «коробок», об’єднаних для створення одного сайту з великою кількістю сторінок.


-1

Незважаючи на те, що безпека однакова, шахрайським програмам може бути легше обдурити користувачів за допомогою iframe, оскільки вони мають більшу гнучкість щодо місця розміщення кадру.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.