如何检查Facebook Canvas内部

时间:2012-07-10 14:10:24

标签: javascript facebook

Facebook application, how to check if inside Facebook canvas / standalone using PHP?

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

3 个答案:

答案 0 :(得分:1)

传递有效的signed_request可能是一种测试方法......

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

如果他们设法做到了,那么可能他们值得能够在Facebook以外使用您的应用程序;)

答案 1 :(得分:0)

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

$this->signedRequest = $this->getSignedRequest();
if(!$this->signedRequest){
    show_404();
}

答案 2 :(得分:-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;
}