Facebook应用程序未在Chrome中显示不安全的内容消息

时间:2013-11-15 19:27:39

标签: facebook ssl

我一直试图在几个小时内解决这个问题,但我似乎无法修复它,我已经看到了类似的其他问题,并尝试使用这些来解决我的问题但无济于事。

我已经建立了一个facebook比赛画布应用程序,它可以独立显示,但是当我将它链接到Facebook页面时(作为新比赛的链接),Chrome不再显示并发出以下警告:

https://www.facebook.com/contest/app_xxxxxxxx”的页面是通过HTTPS加载的,但是运行了来自“http://mydomain.com/”的不安全内容:此内容也应通过HTTPS加载。

我已经部分通过搜索这个网站了解到chrome安全性比较繁琐,并且应用程序正确加载,FireFox和IE中没有错误,但我找不到任何从非https源加载的资源。

我已经通过网络选项卡中的firebug检查并检查所有加载的资源是否都使用https(png图像,jpg图像,css文件和jquery js文件都托管在同一台服务器上有证书),我甚至尝试过托管过渡dtd文档,但似乎没有任何东西可以使警告消失并且应用程序显示正确。

在其他类似的问题中,似乎有来自非https源的资源,或者在fb init之前传递的facebook的javascript库中使用了ssl开关。

问题是我只使用php sdk而不是js one(尽管我使用的是jquery的1.9版本,托管在我的服务器上),我在那里找不到类似的ssl特定设置。

如果有人可以给我一个关于我如何进一步调查的提示,我可能会遗漏或熟悉这个问题我会有兴趣听到它。

非常感谢。

大卫

2 个答案:

答案 0 :(得分:1)

Facebook要求应用程序来自https://您需要在服务器上使用ssl证书并启用ssl。在Facebook应用设置中将安全网址更改为https://mydomain.com网址

我最近确实遇到过类似的问题(但它只引起了IE10上的问题)我通过添加P3P标题解决了这个问题

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT');

答案 1 :(得分:1)

找到了解决方案!

在Facebook应用设置中,如果页面标签网址特定于某个页面,例如https://www.mydomain.com/index.php,chrome不会对不安全的内容消息抱怨,但如果您引用目录,则会传播错误。我发现这令人困惑,因为'canvas'网址需要是目录。

我希望这个答案可以节省几个小时! :)