1

Facebook 应用程序,如何使用 PHP 检查是否在 Facebook 画布/独立内部?

这个问题与上述问题完全相同,但上述方法的解决方案现在似乎不起作用,有什么更新吗?关于 HTTP_REFERRER 标头,我在 Firefox 中发现了一些问题。还有其他黑客吗?

4

3 回答 3

1

通过有效signed_request可能是测试这一点的一种方法......

只有您的应用程序APP_SECRET才能对其进行解码,signed_request因此不太可能有人能够欺骗有效的signed_request; 如果他们能够做到这一点 - 那么他们几乎绕过了 Facebook 的安全性。

如果他们设法做到了,那么也许他们应该能够在 Facebook 之外使用您的应用程序;)

于 2012-07-10T14:14:07.187 回答
0

我只是这样做($this <--- 是一个 facebook sdk 对象):

$this->signedRequest = $this->getSignedRequest();
if(!$this->signedRequest){
    show_404();
}
于 2013-01-09T03:56:42.817 回答
-1

尝试这个:

public static function referrerIsFacebookCanvasApp() {
    if (stripos($_SERVER['HTTP_REFERER'], "apps.facebook.com") === false || strpos($_SERVER['HTTP_REFERER'], "facebook.com/l.php?u=") !== false) {
        return false;
    }
    return true;
}
于 2012-07-10T15:32:49.603 回答