Facebookのiframeアプリケーションを作成するとき、facebookはGETパラメータとしてアプリケーションにパラメータを渡します。クエリ文字列内には、fb_sigというフィールドがあり、これはfacebookだけが作成できる一意のシグネチャです。FacebookのIframe Appのユーザのログイン状態を取得する
私が抱えている問題は、クエリ文字列をアプリケーションURLに簡単にコピーして、Facebookの外のどこからでもアプリケーションにアクセスできることです。 facebook APIが提供するメソッドは、特定の値に対してGETパラメータ/ COOKIEをチェックするだけです。 Facebookのユーザーのログイン状態を実際に返すことができるAPIメソッドがありますか(GETパラメータまたはCOOKIEを基にしない)。
私の意見では、誰もがブラウザのリクエストを追跡して別のユーザーのアカウントにアクセスするためのクエリ文字列を取得できるため、これは大きなセキュリティ上の欠陥です。また、facebookによって提供されるfb_sigパラメータは期限切れではないため、常に検証にパスすることができます。
私はHTTP_REFERERフラグをチェックして、リクエストがFacebookからのものであることを確認しましたが、多くの人がリファラーをSPOOFして無効にすることもできます。任意の提案や解決策?
私の問題は、ユーザーが私のアプリケーションoffline_accessを許可しているので、たとえユーザーがログアウトしたとしてもgetLoggedInUser()を使用してもセッションキーが無限であるためです。 –