gpt4 book ai didi

facebook - 我可以要求 Canvas URL 使用 HTTPS 来保护signed_request 内容吗?

转载 作者:行者123 更新时间:2023-12-02 09:10:19 25 4
gpt4 key购买 nike

我正在使用 iframe 方法编写一个新的 Canvas 应用程序。我的后端支持 Canvas 响应的 HTTP 和 HTTPS,但默认情况下 Facebook 似乎将用户置于 HTTP 上,并通过 HTTP 直接以纯文本形式发送所有重要凭证(即signed_request 有效负载中的访问 token 等)。这当然是共享网络(咖啡店、办公室等)上的一个安全漏洞,在这些网络中嗅探访问 token 是微不足道的。)

如何强制所有 Canvas 请求通过 HTTPS 运行并保护我的用户凭据?

我认为所有开发人员都应该希望或被要求这样做。虽然我是 Facebook 开发的新手,但令我惊讶的是他们不会使用 HTTPS 来直接传输用户访问 token 。 Oauth 1.0 具有允许通过 HTTP 使用访问 token 的机制(因为请求必须由客户端应用程序签名),但 OAuth 2.0 废除了所有这些,转而对任何带有嵌入式凭据的请求使用 HTTPS。 Facebook 帮助设计了 OAuth 2.0,并且,afaics,通过偏离 Canvas 请求中的 HTTPS 使用,破坏了设计的安全性。

最佳答案

您可以使用 PHP 或 JavaScript 轻松完成此操作。您所要做的就是检测用户是否使用 HTTP 并将其重定向到 HTTPS。示例:

<script>
if ( window.location.protocol == 'http:' ) {
window.top.location = 'https://facebook.com/yourapp';
}
</script>

上面的代码将检查 iframe 是否使用 HTTP 加载。如果是,它将重置父 URL(即 facebook)以指向您网站的 HTTPs 版本(因此也使用 HTTPS 加载 iframe)。

关于facebook - 我可以要求 Canvas URL 使用 HTTPS 来保护signed_request 内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7746496/

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