我是一个WordPress插件的作者,该插件允许用户使用Facebook登录他们的博客;它使用旧的REST API引入登录按钮。通常,包含API的方法如下:
<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script>
然而,在Facebook引入安全连接(帐户 -> 帐户设置 -> 帐户安全性 -> 安全浏览)之后,Connect弹出窗口出现了问题。一位插件用户指出,可以通过将上述内容替换为以下内容来解决该问题:
<script type="text/javascript" src="https://ssl.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script>
除了新发布的IE9之外,在每个浏览器中,一切都正常工作,但IE9报告以下两个错误(并拒绝初始化Facebook API):
SEC7111:HTTPS安全性受到破坏https://www.facebook.com/extern/login_status.php?api_key=(MY_KEY)&extern=0&channel=(URL_to_my_xd_receiver)
SEC7111:HTTPS安全性受到破坏https://api.facebook.com/static/v0.4/client_restserver.php?r=1300118768 请注意,托管Facebook Connect按钮的页面不是https,并且前面的两个脚本包含不是我添加的 - 通过IE9的开发人员工具查看页面DOM源代码显示,这两个脚本包含在div“FB_HiddenContainer”中,显然由Facebook异步插入,因为它尝试初始化。
我在Google上找到的关于SEC7111的所有内容都涉及https页面尝试通过http包含脚本,但我的问题相反:页面是http,而脚本(由Facebook自动加载)是https。
非常感谢您的任何想法,我很困惑。如果您想自己玩,可以在我的网站上进行,http://www.justin-klein.com。请注意,“使用Facebook登录”按钮在所有浏览器上都能正确初始化,但在IE9上无法正常工作。