【问题标题】:Facebook iframe triggers unsecure/secure warningFacebook iframe 触发不安全/安全警告
【发布时间】:2010-11-10 05:57:20
【问题描述】:
我想在我的安全页面上使用 Facebook 社交插件(即 iframe)。我的 facebook src 属性为“https://www.facebook....”,它允许页面在 Firefox 中呈现没有问题,但由于某种原因,仅在 IE 上,这仍然会触发页面同时具有的警告安全和不安全的元素。有什么想法吗?
编辑:问题实际上发生在所有浏览器中,而不仅仅是 IE。正如下面 Nathan 所描述的,除了不包括 fb 插件之外,真的没有其他解决方案。
【问题讨论】:
标签:
facebook
iframe
https
facebook-iframe
【解决方案1】:
社交插件包含托管在 Facebook 的 akamai 服务器上的图像、脚本和 css,这些服务器始终只有 http。静态内容位于http://static.ak.fbcdn.net/ 等地址上。简而言之,除非 Facebook 重新设计插件以托管安全服务器的静态内容,否则没有任何办法可以解决这个问题。考虑到他们必须在整个 CDN 网络上启用 ssl,这不太可能。我建议使用非 ssl 社交插件的页面,仅在需要时才切换到 ssl。
【解决方案2】:
只是为了完成,现在 iframe 插件也已修复此问题。它们可以通过 https 提供服务,并从 https 加载所有资源。
【解决方案3】:
我的 .Net 画布应用程序遇到了同样的问题,最初似乎仅限于 IE 和 Firefox,但最近在 Chrome 中表现出相同的行为。原来我没有在我的 aspx 页面的标记中引用 Facebook Javascript SDK 的 SSL URL:
<asp:ScriptReference Path="http://connect.facebook.net/en_US/all.js" />
改为:
<asp:ScriptReference Path="https://connect.facebook.net/en_US/all.js" />
现在不再收到安全内容警告。
还相信通过在 Page_Load 事件中调用 Response 对象的以下方法来禁用代理服务器和浏览器缓存会有所帮助:
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
感谢“TonyDong”的提示:http://forums.asp.net/t/1013531.aspx/4/10
【解决方案5】:
我在 IE 中遇到了 like box 的相同问题。然后我安装了iframe variant。现在一切都很好。