gpt4 book ai didi

Facebook sdk 对 arbiter.php 发出不安全请求

转载 作者:行者123 更新时间:2023-12-02 05:02:51 34 4
gpt4 key购买 nike

我有一个 Facebook 应用程序,它作为 Facebook 粉丝页面内的 iframe 从我的服务器加载。我使用 javascript sdk 来处理 facebook 身份验证。

当我在 IE 中通过 http 访问粉丝专页时,控制台显示以下 https 安全错误:SEC7111:HTTPS 安全受到 http://static.ak.facebook.com/connect/xd_arbiter.php?version=18 的威胁

这会导致用户看到“不安全内容”警告。我知道这与 IE 处理跨域 iframe 加载的方式有关。

更多详情:

  • 调用FB.init时发生(调用FB.init时fb sdk请求xd_arbiter.php)
  • 仅在 IE(特别是 IE 9)中出现。 Chrome 或 FF 中没有安全警告。
  • 只有当 facebook 通过 http 而不是 https 加载时才会发生。我原以为会是相反的方式...所以即使粉丝专页是通过 http 加载的,facebook 也必须通过 https 加载内容。

我尝试过的:

  • 在调用 init 之前设置 FB._https = true。 (不起作用,已弃用)
  • 确保通过 https 加载 sdk(在 channel.html 中)。
  • 确保我对服务器的所有请求都是通过 https 进行的。

这是我对 init 的调用:

FB.init({
appId : '{$appid}',
status : true,
cookie : false,
xfbml : true,
oauth : true,
channelUrl : '//my_url.com/channel.html'
});

以及channel.html的内容:

<script src="//connect.facebook.net/en_US/all.js"></script>

那么我怎样才能强制 sdk 通过 https 加载 xd_arbiter.php 以使警告消失?

我知道 sdk 在不断发展,但我首先想确保我没有做错什么。

谢谢

最佳答案

我建议您将所有 Assets 都放在同一个协议(protocol)上,HTTP 或 HTTPS。

那么对于远程请求,你有没有考虑过在你的服务器上创建一个 PHP 端点,这样你的 AJAX 请求就可以调用你在同一个域上的 PHP 脚本,而不是调用跨域 URL,然后让 PHP curl 到做跨域的事情?

关于Facebook sdk 对 arbiter.php 发出不安全请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14706967/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com