Quelle est la différence entre IFrame et Frame?

91

En regardant les options pour intégrer la page 3D Secure dans mon propre bon de commande, je suis tombé sur les éléments suivants:

"Certains sites de commerce consacreront la page complète du navigateur à l'authentification plutôt qu'à l'utilisation d'un cadre (pas nécessairement un iFrame, qui est de toute façon un objet moins sécurisé)."

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

Quelqu'un peut-il me dire pourquoi les iframes sont moins sécurisés et posent des problèmes, par rapport aux cadres normaux? Et quelles sont les différences fondamentales?

La façon dont je le vois, iframec'est la voie à suivre.

Duncan
la source
Jetez un œil ici .
Daniel Dušek
2
<frame>est obsolète en HTML5, vous ne devriez donc plus l'utiliser.
Michael Hays

Réponses:

64

La différence est qu'un iframe est capable de "flotter" dans le contenu d'une page, c'est-à-dire que vous pouvez créer une page html et y positionner un iframe. Cela vous permet d'avoir une page et d'y placer un autre document directement. A framesetvous permet de diviser l'écran en différentes pages (horizontalement et verticalement) et d'afficher différents documents dans chaque partie.

Lisez le résumé de sécurité IFrames .

rahul
la source
Il ne semble pas que ces problèmes de sécurité s'appliquent à moi, car je ferais directement référence à un site sécurisé (et à un site auquel je fais confiance à 100%), alors ne voyez pas comment un attaquant pourrait saboter cela?
Duncan
14

IFrame est juste un "cadre interne". La raison pour laquelle cela peut être considéré comme moins sécurisé (que de ne pas utiliser de cadre du tout) est que vous pouvez inclure du contenu qui ne provient pas de votre domaine.

Tout cela signifie que vous devez faire confiance à tout ce que vous incluez dans un iFrame ou un cadre normal.

Les cadres et les IFrames sont également sécurisés (et non sécurisés si vous incluez du contenu provenant d'une source non fiable).

Dan Herbert
la source
Vous pouvez également inclure du contenu qui ne provient pas de votre domaine dans des cadres normaux.
Quentin
@David, j'aurais probablement dû le déclarer explicitement. Je suppose que je l'ai laissé entendre mais je ne l'ai jamais vraiment dit. Je mettrai à jour ma réponse pour que cela soit plus clair. Merci!
Dan Herbert
le i dans iframe signifie en fait en ligne
Simon Zyx
6

iframeLes s sont beaucoup utilisés pour inclure des pages complètes. Lorsque ces pages sont hébergées sur un autre domaine, vous rencontrez des problèmes avec les scripts transversaux et autres. Il existe des moyens de résoudre ce problème.

Les cadres ont été utilisés pour diviser votre page en plusieurs parties (par exemple, un menu de navigation sur la gauche). Leur utilisation n'est plus recommandée.

Ivo
la source
"Les cadres servent à deviner votre page en plusieurs parties. Comme par exemple un menu à gauche." Les années 90 ont appelé et vous souhaitent revenir. Vous ne devez pas utiliser de cadres pour cela. Il était courant de faire cela il y a quelques années, mais maintenant, vous devriez la plupart du temps utiliser des inclusions et des css côté serveur pour créer votre menu. Cela permet une flexibilité beaucoup plus grande sur le long terme. velvetblues.com/web-development-blog/... a quelques informations sur le sujet.
Esteban Küber le
13
Je sais :) Je voulais juste expliquer où le cadre "était" utilisé (il y a 100 ans;))
Ivo
5

Les seules raisons auxquelles je peux penser sont en fait dans l' article du wiki auquel vous avez fait référence pour en mentionner quelques ...

"Le système" Vérifié par Visa "a suscité quelques critiques, car il est difficile pour les utilisateurs de faire la différence entre la fenêtre pop-up ou le cadre en ligne légitime Vérifié par Visa et un site de phishing frauduleux."

"à partir de 2008, la plupart des navigateurs Web ne fournissent pas un moyen simple de vérifier le certificat de sécurité pour le contenu d'une iframe"

Si vous lisez la section Critique de l'article, elle détaille toutes les failles de sécurité potentielles.

Sinon, la seule différence est le fait qu'un IFrame est un cadre en ligne et un Frame fait partie d'un Frameset . Ce qui signifie plus de problèmes de mise en page qu'autre chose!

James
la source
4

Le cadre en ligne n'est qu'une «boîte» et vous pouvez le placer n'importe où sur votre site. Les cadres sont un ensemble de «boîtes» assemblées pour former un site avec plusieurs pages.

khan iffat
la source
-1

Bien que la sécurité soit la même, il peut être plus facile pour les applications frauduleuses de duper les utilisateurs en utilisant une iframe, car ils ont plus de flexibilité quant à l'emplacement de la trame.

user1213898
la source