0

私が知りたかったのは、静的FBMLのこのタグがとにかくIFrameで機能するかどうかです:-

fb : userlink uid="loggedinuser"

そして私の2番目の質問は、iframe FacebookのようにFBMLを使用するのではなく、保存されたCokkiesを介してユーザーIDを取得できますか?ユーザーデータへのアクセスを許可しません. Firebug を使用すると、ユーザー ID を取得できることがわかりました。そしてクッキーに保存されます。Iframe への複数回のアクセスに対してユーザーを制限したい。そのため、ユーザーIDを取得して、ユーザーが登録されているかどうかを確認したいと思います。そして彼が登録した場合。彼は 2 回登録できません。

私は Cokkies を使用して試していますが、 JAVASCRIPT に関する知識が不足しているため、実行方法がわかりません。

4

1 に答える 1

0

次のコードをiframeに配置すると、ログインしたユーザーIDを取得し、その制約を確認します。

<?php   

   function parse_signed_request($signed_request , $secret ) {
$signed_request = $signed_request ? $signed_request : $_REQUEST['signed_request'];
$secret = $secret ? $secret : your_app_secret;

list($encoded_sig, $payload) = explode('.', $signed_request, 2);

// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);

if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
error_log('Unknown algorithm. Expected HMAC-SHA256');
return null;
}

// check sig
$expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
if ($sig !== $expected_sig) {
error_log('Bad Signed JSON signature!');
return null;
}

return $data;
}

function base64_url_decode($input) {
return base64_decode(strtr($input, '-_', '+/'));
}
  $request=$_REQUEST['signed_request']; 
  $appsecret = 'your_app_secret_key';
$new = parse_signed_request($request , $appsecret );
echo $new['user_id'];
于 2011-04-09T00:36:12.617 に答える