我希望在html页面的同时打开两个facebook页面。 因此,当您转到mypage.html时,将显示两个Facebook页面。这可能吗?
我得到类似的东西:
代码如下:
<frameset cols="25%,75%">
或
<iframe height="*" src="http://www.facebook.com/photo.php?fbid=10150277739848763&set=pu.105012493762&type=1&theater" width="100%">
<p>Your browser does not support iframes.</p> </iframe>
答案 0 :(得分:26)
我在Facebook的安全团队工作,实际上帮助编写导致此问题的代码。我们执行此操作(a form of frame busting)以防止clickjacking attacks攻击者可以将Facebook置于iframe中,隐藏它,并欺骗用户点击Facebook框架并采取一些措施(例如发布恶意链接)他们的个人资料等。)
虽然杰森的答案正朝着正确的方向发展,但浏览器不允许您访问您在页面中的iframe中插入的页面的DOM。 Same Origin Policy表示一个域上的javascript无法访问其他域上的网页上的任何内容。
答案 1 :(得分:8)
Facebook阻止您通过IFRAME(或任何框架)直接链接到实际网站。这是因为将Facebook放入IFRAME(或任何框架)的任何网站都可以使用Javascript访问Facebook页面的元素,包括用户名和密码字段。
没有办法解决这个问题。它内置于浏览器本身,以便在请求标头中发送一些信息,表明它被请求放入框架中。
Gmail和其他几个网站也会这样做。
答案 2 :(得分:0)
在某些特定情况下,覆盖“x-frame-options”安全策略很有用,例如在数字标牌中,需要在iframe中显示组织的facebook页面以及其他标牌iframe。
不会发生点击劫持和网上诱骗,因为该组织在其自己的浏览器驱动的显示设备上显示自己的Facebook页面。
如果浏览器未在其“about:flags”页面上提供内部x帧覆盖,则可能需要安装浏览器扩展以覆盖标牌设备上的x-frame-options。