2011-03-15 6 views
0

iframe에 FBML과 FBML 사용자 ID와 사용자 이름 : -정적 내가 정적 FBML의이 태그 어쨌든 iframe에 작동 할 것, 알고 싶어

FB : userlink UID = "loggedInUser에"

그리고 두 번째 질문은 iframe 페이스 북에서 사용자 DATA에 액세스 할 수 있도록 허용하지 않고 FBML을 사용하여 Cokkies를 통해 저장된 사용자 ID를 얻을 수 있습니까? 그래서 방화범을 사용하여 우리는 사용자 ID를 얻는다고 알았습니다. 쿠키에 저장됩니다. 사용자가 한 번 이상 내 Iframe에 대한 액세스를 제한하려고합니다. 따라서 사용자 ID가 인 사용자가 등록했는지 여부를 확인하고 싶습니다. 그리고 그가 등록했다면. 그는 두 번 등록 할 수 없습니다.

Cokkies를 사용하여 시도하고 있습니다.하지만 JAVASCRIPT에 대한 지식 부족으로 인해 실행 방법을 알 수 없습니다.

답변

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'];