Facebook アプリケーション、PHP を使用して Facebook キャンバス内/スタンドアロンかどうかを確認する方法は?
この質問は上記の質問とまったく同じですが、上記の方法の解決策は現在機能していないようです。更新はありますか? HTTP_REFERRER ヘッダーに関して、Firefox 内でいくつかの問題を発見しました。他のハックはありますか?
Facebook アプリケーション、PHP を使用して Facebook キャンバス内/スタンドアロンかどうかを確認する方法は?
この質問は上記の質問とまったく同じですが、上記の方法の解決策は現在機能していないようです。更新はありますか? HTTP_REFERRER ヘッダーに関して、Firefox 内でいくつかの問題を発見しました。他のハックはありますか?
有効な値が渡されることは、signed_request
これをテストする1つの方法かもしれません...
それをデコードできるのはあなたのアプリケーションだけです。彼らがそれを行うことができれば、Facebook のセキュリティをほぼ回避したことになります。 APP_SECRET
signed_request
signed_request
もしそれができたのなら、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;
}