Qual é a diferença entre IFrame e Frame?

91

Olhando as opções para incorporar a página 3D Secure em meu formulário de pedido, me deparei com o seguinte:

"Alguns sites de comércio dedicam toda a página do navegador à autenticação, em vez de usar um frame (não necessariamente um iFrame, que é um objeto menos seguro de qualquer maneira)."

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

Alguém pode me dar informações sobre por que os iframes são menos seguros e causam problemas, em oposição aos frames normais? E quais são as diferenças básicas?

A meu ver, iframeé o caminho a percorrer.

Duncan
fonte
Dê uma olhada aqui .
Daniel Dušek
2
<frame>está obsoleto no HTML5, então você não deve usá-lo mais.
Michael Hays

Respostas:

64

A diferença é que um iframe é capaz de "flutuar" dentro do conteúdo de uma página, ou seja, você pode criar uma página html e posicionar um iframe dentro dela. Isso permite que você tenha uma página e coloque outro documento diretamente nela. A framesetpermite dividir a tela em páginas diferentes (horizontal e verticalmente) e exibir documentos diferentes em cada parte.

Leia o resumo de segurança do IFrames .

Rahul
fonte
Não parece que esses problemas de segurança se aplicam a mim, já que eu estaria fazendo referência direta a um site seguro (e um em que confio 100%), então não vejo como um invasor poderia sabotar isso?
Duncan
14

O IFrame é apenas um "quadro interno". A razão pela qual ele pode ser considerado menos seguro (do que não usar nenhum tipo de frame) é porque você pode incluir conteúdo que não se origina do seu domínio.

Tudo isso significa que você deve confiar em tudo o que incluir em um iframe ou quadro normal.

Frames e IFrames são igualmente seguros (e inseguros se você incluir conteúdo de uma fonte não confiável).

Dan Herbert
fonte
Você pode incluir conteúdo que não se origine de seu domínio em frames regulares também.
Quentin
@David, provavelmente deveria ter declarado isso explicitamente. Acho que insinuei isso, mas nunca realmente disse. Vou atualizar minha resposta para deixar isso mais claro. Obrigado!
Dan Herbert
o i em iframe significa inline
Simon Zyx
6

iframeOs s são muito usados ​​para incluir páginas completas. Quando essas páginas são hospedadas em outro domínio, você tem problemas com scripts cruzados e outras coisas. Existem maneiras de consertar isso.

Os frames foram usados ​​para dividir sua página em várias partes (por exemplo, um menu de navegação à esquerda). Usá-los não é mais recomendado.

Ivo
fonte
"Os quadros são usados ​​para adivinhar sua página em várias partes. Como, por exemplo, um menu à esquerda." Os anos 90 chamaram e ganham de volta. Você não deve usar frames para isso. Era comum fazer isso há alguns anos, mas agora você deve, na maioria das vezes, usar as inclusões do lado do servidor e css para fazer seu menu. Ele permite uma flexibilidade muito maior no longo prazo. velvetblues.com/web-development-blog/… tem algumas informações sobre o assunto.
Esteban Küber
13
Eu sei :) Eu só queria explicar para onde o frame "era" usado (100 anos atrás;))
Ivo
5

As únicas razões que consigo pensar estão no artigo wiki que você mencionou para mencionar alguns ...

"O sistema" Verified by Visa "atraiu algumas críticas, uma vez que é difícil para os usuários diferenciar entre a janela pop-up legítima do Verified by Visa ou o frame inline e um site de phishing fraudulento."

"a partir de 2008, a maioria dos navegadores da web não fornece uma maneira simples de verificar o certificado de segurança para o conteúdo de um iframe"

Se você ler a seção Críticas no artigo, ela detalha todas as possíveis falhas de segurança.

Caso contrário, a única diferença é o fato de que um IFrame é um quadro embutido e um Quadro é parte de um Conjunto de quadros . O que significa mais problemas de layout do que qualquer outra coisa!

James
fonte
4

O frame embutido é apenas uma "caixa" e você pode colocá-lo em qualquer lugar do seu site. Os frames são um monte de 'caixas' reunidas para formar um site com muitas páginas.

khan iffat
fonte
-1

Embora a segurança seja a mesma, pode ser mais fácil para aplicativos fraudulentos enganar os usuários usando um iframe, pois eles têm mais flexibilidade em relação ao local onde o quadro é colocado.

user1213898
fonte