Хорошо, обо всем по порядку. Чтобы получить 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 ["signature_request"] в
Данные $ _SESSION и работа с ними.
Поскольку, если вы используете PHP-SDK, вам не нужно беспокоиться о сохранении signed_request
в сеансе, поскольку SDK будет обрабатывать его для вас.
Теперь для последней части:
Либо $ _POST, либо $ _SESSION не являются безопасными 100% (firesheep).
Это не правда, signed_request
- это бесполезно без секретного ключа вашего приложения для его декодирования. Таким образом, даже если кто-то сможет получить его, это не скомпрометирует ваше приложение. Подробнее о signed_request
s здесь .