IFrame和Frame有什么区别?


91

在查看将3D安全页面嵌入我自己的订单中的选项时,我遇到了以下问题:

“一些商务站点将把整个浏览器页面用于身份验证,而不是使用框架(不一定是iFrame,因为iFrame毕竟是不太安全的对象)。”

来自http://en.wikipedia.org/wiki/3-D_Secure

有人能告诉我为什么 iframe与普通框架相比不那么安全,并引起问题吗?基本区别是什么?

我的看法iframe是要走的路。



2
<frame>在HTML5中已弃用,因此您不应再使用它。
Michael Hays '18

Answers:


64

区别在于iframe能够“浮动”页面中的内容,也就是说,您可以创建html页面并将iframe放置在其中。这样,您就可以拥有一个页面并将另一个文档直接放置在其中。使用A frameset,您可以将屏幕分成多个页面(水平和垂直),并在每个部分中显示不同的文档。

阅读IFrames安全摘要


这些安全问题似乎不适用于我,因为我将直接引用一个安全站点(也是我100%信任的站点),所以看不到攻击者如何破坏此站点?
邓肯

14

IFrame只是一个“内部框架”。之所以认为它不那么安全(而不是根本不使用任何一种框架),是因为您可以包含并非来自您的域的内容。

所有这些意味着您应该信任iFrame或常规框架中包含的任何内容。

框架和iframe同样安全(如果包含来自不受信任来源的内容,则不会安全)。


您也可以在常规框架中包含并非来自您的域的内容。
昆汀,2009年

@David,我可能应该明确指出。我想我暗示了这一点,但从未真正说过。我将更新我的答案以使其更清楚。谢谢!
丹·赫伯特

iframe中的i实际上代表内联
Simon Zyx

6

iframes用于包含完整的页面。当这些页面托管在另一个域上时,您会遇到跨脚本和其他问题。有解决此问题的方法。

框架用于将页面分为多个部分(例如,左侧的导航菜单)。不再建议使用它们。


“框架用于将您的页面分成多个部分。例如,左边的菜单。” 90年代打来电话,然后请您回来。你应该使用框架这一点。几年前通常这样做,但是现在大多数时候应该使用服务器端包含和CSS来制作菜单。从长远来看,它提供了更大的灵活性。velvetblues.com/web-development-blog/…具有有关此主题的一些信息。
EstebanKüber'09

13
我知道:)我只是想解释一下(100年前;)帧在哪里使用;)
Ivo

5

我能想到的唯一原因实际上是在您引用Wiki文章中提到了几个...

““ Visa验证”系统引起了一些批评,因为用户很难区分合法的“ Visa验证”弹出窗口或嵌入式框架和欺诈性网络钓鱼站点。”

“从2008年开始,大多数Web浏览器都没有提供一种简单的方法来检查iframe内容的安全证书”

如果您阅读本文中的“ 批评”部分,则将详细介绍所有潜在的安全漏洞。

否则,唯一的区别是IFrame是嵌入式框架,而FrameFrameset的一部分。这意味着比其他问题更多的布局问题!


4

内联框架只是一个“盒子”,您可以将其放置在网站上的任何位置。框架是一堆“盒子”,使一个站点具有许多页面。


-1

尽管安全性相同,但欺诈性应用程序更容易使用iframe欺骗用户,因为他们在放置框架的位置方面具有更大的灵活性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.