0

「facebookconnect」を使用してWebサイトを構築し、ユーザー名とパスワードを使用してfacebookにログインすると、facebookはWebサイトにセッションを設定します。

そのセッションでは、生成された「署名」があります

この署名は、あなたとFacebookだけが知っている「アプリケーションシークレット」のデータと、ハッシュされた結果のMD5を組み合わせて作成されます。

その署名を生成するために使用するアルゴリズムが必要です。これにより、署名を再作成し、Facebookによって作成された1つの署名と一致することを確認できます。

if($_SESSION['facebookSignature'] == reGeneratedSignature){
   // save to database
}else{
  // go away I don't trust you
}

このようにして、ユーザーを検証でき、Facebookに不要な電話をかけたり、ユーザーがWebサイトを引き続き使用できるようにする必要がありません。

4

2 に答える 2

0

署名の検証リンクは行くべき道なので、それはあなたのために働くはずです.

FBConnectAuthのソースコードを見てください。それはあなたが望むことを行い、出現する可能性のある新しい FB Connect Cookie に適応するように汎用的です。新しい JS ライブラリに適応することを願っています。

それが役立つことを願って、

アダム

于 2009-12-17T17:45:22.497 に答える
0

Facebook によって作成された署名の再構築はかなり簡単です。すべてのkey=valueペアを追加してから秘密鍵を追加し、最終的に結果の文字列の MD5 ハッシュを計算するだけです。

署名の作成方法の詳細については、この回答を参照してください。

Facebook は、シングル サインオン セクションで、sig を再構築する方法の PHP の例を提供しています

まったく同じことを行うブログ投稿を書きましたが、代わりに Ruby を使用しています。

于 2010-08-01T03:44:49.507 に答える