0

在我的页面上,用户可以上传图片并将它们发布到他们的 Facebook 墙上——但通常他们应该只有在登录到他们的 Facebook 帐户后才能在他们的墙上发帖。我用这段代码检查用户状态:

// check if user is connected to facebook
$facebook = new Facebook(array(
                          'appId'  => Yii::app()->params['fbAppId'],
                          'secret' => Yii::app()->params['fbSecret'],
                        ));
$user = $facebook->getUser();
if ($user = $facebook->getUser()) 
{
     try 
     {
         $user_profile = $facebook->api('/me');
         echo "you are logged in";
     } 
     catch (FacebookApiException $e) 
     {
         $user = NULL;
         echo "you are logged out";
     }
}

(甚至建议检查用户是否不仅有会话而且有有效的 fb 登录的代码也会返回 true,尽管我不再在 Fb 登录。)

现在,如果我通过 Facebook Connect 登录到我自己的页面,然后从 FB 注销 - 我仍然在我自己的网页上登录。暂时没关系。但不应该工作的是这段代码:

$facebook->api('/me/feed', 'POST', $attachment);

这意味着网站会将用户上传的图片直接发布到用户的提要中。尽管用户已从 facebook 注销,但这似乎可行...

顺便说一句,我不要求离线许可。

最好的祝愿,塞巴斯蒂安

4

0 回答 0