Facebook 应用程序,如何使用 PHP 检查是否在 Facebook 画布/独立内部?
这个问题与上述问题完全相同,但上述方法的解决方案现在似乎不起作用,有什么更新吗?关于 HTTP_REFERRER 标头,我在 Firefox 中发现了一些问题。还有其他黑客吗?
Facebook 应用程序,如何使用 PHP 检查是否在 Facebook 画布/独立内部?
这个问题与上述问题完全相同,但上述方法的解决方案现在似乎不起作用,有什么更新吗?关于 HTTP_REFERRER 标头,我在 Firefox 中发现了一些问题。还有其他黑客吗?
通过有效signed_request
可能是测试这一点的一种方法......
只有您的应用程序APP_SECRET
才能对其进行解码,signed_request
因此不太可能有人能够欺骗有效的signed_request
; 如果他们能够做到这一点 - 那么他们几乎绕过了 Facebook 的安全性。
如果他们设法做到了,那么也许他们应该能够在 Facebook 之外使用您的应用程序;)
我只是这样做($this <--- 是一个 facebook sdk 对象):
$this->signedRequest = $this->getSignedRequest();
if(!$this->signedRequest){
show_404();
}
尝试这个:
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;
}