是Facebook页面上的管理员

时间:2011-09-03 18:53:00

标签: facebook facebook-graph-api facebook-php-sdk

我环顾四周,找不到任何可以做到的事情(好吧,这不是明显的或半明显的)

所以说我有一个Facebook应用程序,提供人们在使用期间付费的服务。普通用户可以加入并“订阅”它,而这些页面的管理员可以执行一项活动,这将花费他们的钱(让我赚钱)。

我不想要黑客攻击或任何伤害我们产品的事情。那么,我如何验证某人是使用PHP SDK的管理员。

我们目前正在做的是在$ _SESSION的数据中存储$ _POST [“signed_request”]并使用它。 $ _POST或$ _SESSION不安全100%(firesheep)。

有没有办法验证这个?图api?

1 个答案:

答案 0 :(得分:0)

好的,首先要做的事情。要检索signed_request并检查用户是否为管理员,您可以使用以下内容:

$signed_request = $facebook->getSignedRequest();
if ($signed_request['page']) { // Loaded in a page tab
    if ($signed_request['page']['admin']) {
        // Current user is admin
    } else {
        // Normal user
    }
} else { // Canvas view

}

现在我不确定你是什么意思:

  

我们目前正在做的是存储$ _POST [“signed_request”]   $ _SESSION的数据并与之合作。

因为如果您使用的是PHP-SDK,那么您无需担心在会话中存储 {/ 1}},因为SDK会为您处理它。

现在是最后一部分:

  

$ _POST或$ _SESSION不安全100%(firesheep)。

这不是真的,signed_request 无用没有你的app密钥来解码它。因此,即使有人能够获得它,也不会损害您的应用程序。详细了解signed_request s here