gpt4 book ai didi

php - 防止直接/在 facebook 之外访问 facebook canvas 应用程序

转载 作者:可可西里 更新时间:2023-10-31 22:06:45 25 4
gpt4 key购买 nike

我正在为 facebook 开发一个 canvas 应用程序,我想阻止用户直接从 canvas URL 访问该应用程序(尽可能多,我意识到这可能不是 100% 的时间)并强制用户从 apps.facebook.com/foo 访问该应用。

我正在使用 php 开发应用程序,我的第一个想法是检查 $_POST 数组中的“signed_request”,这是从 facebook 传递到 canvas 应用程序的值,如果该值不存在则发送重定向但看起来这个值只传递了一次,当用户单击我的应用程序中的不同链接时,“signed_request”参数不会再次传递。

我可以合理地相信“HTTP_REFERER”来验证用户正在从 http://apps.facebook.com/foo 访问应用程序吗?并在 HTTP_REFERER 不等于该值时重定向用户?

编辑:我实际上刚刚注意到,在 apps.facebook.com/foo 对应用程序的原始请求中,HTTP_REQUEST header 等于“apps.facebook.com/foo”,但是当用户单击应用程序中的链接时,HTTP_REQUEST 变得相等到 Canvas 网址。

最佳答案

我会推荐你​​check the signed_request parameter如果有效,则使用 PHP session 变量来跟踪这是否是基于 Facebook 的请求。但是,这不会阻止某人先在 Facebook 上使用您的应用,然后直接转到该应用。

您可以做的额外检查是使用 javascript 来检查

window == window.top

它应该告诉你你是否在框架中。

关于php - 防止直接/在 facebook 之外访问 facebook canvas 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295741/

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