在iframe或框架中打开Facebook页面?

Rya*_*yan 4 html iframe facebook facebook-iframe

我希望在我的html页面的同时打开两个facebook页面.因此,当您转到mypage.html时,将显示两个Facebook页面.这可能吗?

我有类似的东西: 在此输入图像描述

代码如下:

<frameset cols="25%,75%">
Run Code Online (Sandbox Code Playgroud)

要么

<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>
Run Code Online (Sandbox Code Playgroud)

小智 26

我在Facebook的安全团队工作,实际上帮助编写导致此问题的代码.我们这样做(一种框架破坏的形式)来防止点击劫持攻击,攻击者可以将Facebook放入iframe,隐藏它,并欺骗用户点击Facebook框架并采取一些行动(例如发布恶意链接到他们的个人资料)等).

虽然Jason的答案正朝着正确的方向发展,但浏览器不会让您访问您在页面中的iframe中插入的页面的DOM.该同源策略决定了一个域JavaScript不能在不同的域在页面上访问任何东西.

  • 感谢您的回答。那么在不离开我的网站的情况下在我的网站中显示我的 Facebook 页面的正确方法是什么 :) (2认同)

小智 8

Facebook阻止您通过IFRAME(或任何框架)直接链接到实际网站.这是因为任何将Facebook放入IFRAME(或任何框架)的网站都可以使用Javascript访问Facebook页面的元素,包括用户名和密码字段.

没有办法解决这个问题.它内置于浏览器本身,以在请求标头中发送一些信息,表示它被请求放入框架中.

Gmail和其他几个网站也是这样做的.

  • - "这是因为任何将Facebook放入IFRAME(或任何框架)的网站都可以使用Javascript访问Facebook页面的元素"_ - nope,有SOP来防止这种情况发生.它实际上更多的是关于网络钓鱼 - 如果用户曾经在框架内看到(Facebook)登录对话框,那么我可以轻松地构建我自己的版本并在框架内显示它,并让它将输入的用户名/密码发送给我自己的服务器而不是Facebook的.因此人们总是在地址栏中看到facebook.com,他们决定不允许在框架内显示登录对话框和其他内容. (3认同)