查看在我自己的订单表单中嵌入3D Secure页面的选项,我发现了以下内容:
“有些商业网站会将完整的浏览器页面用于身份验证,而不是使用框架(不一定是iFrame,无论如何都是一个不太安全的对象)。”
来自http://en.wikipedia.org/wiki/3-D_Secure
有人可以向我提供关于 为什么 iframe安全性较低的问题,并导致问题,而不是正常的框架?有什么基本差异?
我看到它的方式,iframe
是要走的路。
答案 0 :(得分:59)
区别在于iframe能够在页面内容中“浮动”,也就是说您可以创建一个html页面并在其中放置iframe。这允许您拥有一个页面并直接在其中放置另一个文档。 frameset
允许您将屏幕分成不同的页面(水平和垂直),并在每个部分显示不同的文档。
答案 1 :(得分:14)
IFrame只是一个“内部框架”。之所以可以认为安全性较低(完全不使用任何类型的框架)是因为您可以包含不属于您的域的内容。
所有这些意味着你应该相信你在iFrame或常规框架中包含的内容。
框架和IFrame同样安全(如果包含来自不受信任来源的内容,则不安全)。
答案 2 :(得分:6)
iframe
用于包含完整页面。当这些页面托管在另一个域上时,您会遇到跨侧脚本和内容的问题。有办法解决这个问题。
框架用于将您的页面分成多个部分(例如,左侧的导航菜单)。不再推荐使用它们。
答案 3 :(得分:5)
我能想到的唯一理由实际上是wiki article you referenced提到一对......
“”Visa验证“系统引起了一些批评,因为它是 用户难以区分合法的验证者 Visa弹出窗口或内联框架以及欺诈性网络钓鱼站点。“
“截至2008年,大多数网络浏览器都没有提供简单的检查方式 iframe内容的安全证书“
如果您阅读文章中的Criticism section,则会详细说明所有潜在的安全漏洞。
否则,唯一的区别是 IFrame 是内联框架,框架是框架集的一部分。这意味着更多布局问题!
答案 4 :(得分:5)
内联框架只是一个“框”,您可以将它放在网站的任何位置。 框架是一堆“盒子”放在一起,使一个网站有很多页面。
答案 5 :(得分:0)
虽然安全性相同,但欺诈性应用程序可能更容易使用iframe欺骗用户,因为他们可以更灵活地放置框架。
答案 6 :(得分:0)
基本上<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>
和 { {1}} 个标签未使用) 为:
<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>
功能。
<iframe>
标签用于创建带有标签 <frameset>
的框架,而 <frame>
实现了 <iframe>
和 <frame>
标签的功能。与 <frameset>
标签不同,<frame>
标签也可以放在 <iframe>
标签内。
<body>
的放置很容易,编码人员可以轻松地将 <iframe>
标签放在其他网页标签中,如果需要,还可以添加多个 <iframe>
标签。另一方面,在 <iframe>
中放置 <frame>
标签有点复杂。
注意: <frameset>
标签和 <frame>
标签在 HTML5 中已弃用
因此,现在不推荐使用 <frameset>
和 <frame>
标记,因此 Web 开发人员使用 <frameset>
标记来创建网页内容并将某些其他来源的文档嵌入网页中{使用了 {1}} 个标签。但即使是 <body>
标签也被用于在网页中嵌入其他来源的文档,甚至 <iframe>
标签也被用于创建框架。