在研究将3D安全页面嵌入我的订单表单的选项时,我遇到了以下内容:
“一些商业站点会将整个浏览器页面用于身份验证,而不是使用框架(不一定是一个iFrame,因为它是一个不太安全的对象)。”
引自http://en.wikipedia.org/wiki/3-D_Secure
有人能告诉我为什么iFrames比普通框架更不安全,会导致问题吗?基本区别是什么?
从我看来,iFrame
是可行的方法。
在研究将3D安全页面嵌入我的订单表单的选项时,我遇到了以下内容:
“一些商业站点会将整个浏览器页面用于身份验证,而不是使用框架(不一定是一个iFrame,因为它是一个不太安全的对象)。”
引自http://en.wikipedia.org/wiki/3-D_Secure
有人能告诉我为什么iFrames比普通框架更不安全,会导致问题吗?基本区别是什么?
从我看来,iFrame
是可行的方法。
frameset
则允许您将屏幕分成不同的页面(水平和垂直)并在每个部分显示不同的文档。IFrame 就是指“内部框架”。它被认为不太安全的原因是,您可以包含不来自您域名的内容。
这意味着您应该信任您包含在 iFrame 或常规框架中的一切内容。
框架和 IFrame 同样安全(如果您包含来自不受信任源的内容,则同样不安全)。
基本上,<frame>
标签和<iframe>
标签之间的区别在于:
当我们使用<frame>
标签时,网页的内容由框架组成,这些框架仅通过使用<frame>
和<frameset>
标签来创建(且不使用<body>
标签),如下所示:
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset rows="20%,70%,10%">
<frame name="top" src="/html/top.html" />
<frame name="main" src="/html/main.html" />
<frame name="bottom" src="/html/bottom.html" />
</frameset>
</html>
当我们使用 <iframe>
时,网页的内容不包含帧,而是通过使用 <body>
标签创建网页的内容(并且不使用 <frame>
和 <frameset>
标签):
<html>
<head>
<title>HTML Iframes</title>
</head>
<body>
<p>See the video</p>
<iframe width="854" height="480" src="https://www.youtube.com/embed/2eabXBvw4oI"
frameborder="0" allowfullscreen>
</iframe>
</body>
</html>
<iframe>
标签可以将其他来源的文档嵌入到网页中,用于指定内联框架或浮动框架。万维网联盟(W3C)在HTML 4.01中包含了<iframe>
功能。相比之下,<frameset>
标签用于创建带有<frame>
标签的框架,而<iframe>
同时具有<frame>
和<frameset>
标签的功能。与<frame>
标签不同的是,<iframe>
标签也可以放置在<body>
标签中。 注意:在HTML5中,<frame>
标签和<frameset>
标签已被弃用。
由于现在使用<frame>
和<frameset>
标签已经过时,因此Web开发人员使用<body>
标签来创建网页的内容,并使用<iframe>
标签将其他来源的文档嵌入到网页中。但是,即使<frame>
标签也用于嵌入其他来源的文档到网页中,<iframe>
标签也用于创建框架。
iframe
用于包含完整的页面。当这些页面托管在另一个域上时,会出现跨站脚本等问题。有方法可以解决这个问题。
框架被用来将您的页面分成多个部分(例如,左侧导航菜单)。不建议使用它们。
内嵌框架只是一个“盒子”,可以放置在您网站的任何位置。 框架是一组“盒子”组合在一起,用于创建具有多个页面的网站。
虽然安全性相同,但使用 iframe 的欺诈应用程序更容易欺骗用户,因为它们在放置框架的位置方面具有更大的灵活性。
<frame>
在 HTML5 中已被弃用,因此您不应再使用它。 - Michael Hays