Facebook用のキャンバスアプリケーションを開発していますが、ユーザーがキャンバスURLから直接アプリケーションにアクセスできないようにし(可能な限り、これは100%可能ではない可能性があることを認識しています)、ユーザーにアプリへのアクセスを強制したいと考えています。 apps.facebook.com/fooから。
私はphpを使用してアプリを開発しています。最初に考えたのは、$ _ POST配列で「signed_request」を確認することでした。これは、FacebookからCanvasアプリに渡される値であり、この値が存在しないが表示される場合はリダイレクトを送信します。この値は1回だけ渡され、ユーザーがアプリケーションで別のリンクをクリックしても、「signed_request」パラメーターは再度渡されません。
「HTTP_REFERER」を合理的に信頼して、ユーザーがhttp://apps.facebook.com/fooからアプリケーションにアクセスしていることを確認し、HTTP_REFERERがその値と等しくない場合にユーザーをリダイレクトできますか?
編集:apps.facebook.com/fooでのアプリの元のリクエストでは、HTTP_REQUESTヘッダーは'apps.facebook.com/foo'と同じですが、ユーザーがアプリのリンクをクリックするとHTTP_REQUESTになります。キャンバスのURLと等しくなります。