几个小时以来,我一直试图弄清这个问题的根源,但我似乎无法解决它,我看到了其他类似的问题,并尝试使用这些问题来解决我的问题但无济于事。
我已经构建了一个 facebook 比赛 Canvas 应用程序,它可以独立显示,但是当我将它链接到 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 sdk(虽然我使用的是 1.9 版的 jquery,托管在我的服务器上)而且我在那里找不到类似的 ssl 特定设置。
如果有人可以告诉我如何进一步调查、我可能遗漏了什么或熟悉这个问题,我很想听听。
非常感谢。
大卫
最佳答案
Facebook 要求应用程序来自 https://您需要在您的服务器上有 ssl 证书并启用 ssl。在 Facebook 应用程序设置中将安全网址更改为 https://mydomain.com网址
我最近确实遇到了类似的问题(但它只在 IE10 上引起了问题),我通过添加 P3P header 解决了这个问题
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT');
关于Facebook 应用程序未在 Chrome 中显示不安全的内容消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009049/