0

Facebookアプリケーションのアプリケーションサーバーへの直接アクセスを拒否する方法はありますか?

FacebookはiFramesrc= http:// app-domain /を介してアプリケーションをロードしますが、ページソースを明確に表示してそのドメインを見つけ、URLをコピーしてブラウザーに貼り付け、アプリケーションを直接表示できます。

APIにはこのsigned_requestとoauth_tokenがありますが、それをどのように使用するか、またはそれを使用してアプリケーションへの直接アクセスを制限できるかどうか疑問に思いました。

したがって、ユーザーがブラウザにアプリケーションのURLを入力すると、Facebookにリダイレクトされます。

ありがとうございました。

編集:フォームの送信でも機能する方法を見つけました。

// Signed request
$signed_request = $facebook->getSignedRequest();
if(!$signed_request) header("Location: " . $settings['appBaseUrl']);

これにより、Facebook経由ではなく、アプリケーションに直接アクセスしているときにブラウザがリダイレクトされます。

4

3 に答える 3

2

javascriptが無効になっている場合は機能しません。

<script type="text/javascript">
    var isInIFrame = (window.location != window.parent.location) ? true : false;

    if(!isInIFrame){
                window.location = 'link-of-application-page';
    }

</script>
于 2011-06-24T13:11:58.320 に答える
0

Facebookのフレーム内にいるかどうかを検出し、そうでない場合はリダイレクトするために、Javascriptが必要になります。

于 2011-06-24T11:09:49.827 に答える
0

フォームの送信でも機能する方法を見つけました。(私にとってはうまくいきますが、うまくいかないかもしれません。最初にテストしてください。)

// Signed request
$signed_request = $facebook->getSignedRequest();
if(!$signed_request) header("Location: " . $settings['appBaseUrl']);

これにより、Facebook経由ではなく、アプリケーションに直接アクセスしているときにブラウザがリダイレクトされます。

于 2012-03-07T12:07:05.123 に答える