我环顾四周,找不到任何可以做到的事情(好吧,这不是明显的或半明显的)
所以说我有一个Facebook应用程序,提供人们在使用期间付费的服务。普通用户可以加入并“订阅”它,而这些页面的管理员可以执行一项活动,这将花费他们的钱(让我赚钱)。
我不想要黑客攻击或任何伤害我们产品的事情。那么,我如何验证某人是使用PHP SDK的管理员。
我们目前正在做的是在$ _SESSION的数据中存储$ _POST [“signed_request”]并使用它。 $ _POST或$ _SESSION不安全100%(firesheep)。
有没有办法验证这个?图api?
答案 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。