Как «состояние» попало в GET при авторизации на Facebook? - PullRequest
0 голосов
/ 28 января 2012

Как «состояние» появилось в GET при авторизации на Facebook в http://developers.facebook.com/docs/authentication/? В коде, который идет после «Следующий пример PHP демонстрирует поток на стороне сервера с защитой CSRF в одном автономном примере:", строка if($_REQUEST['state'] == $_SESSION['state']) { .Я не понимаю, почему эта часть сеанса передается куда-то еще.

См. Связанные вопросы: Будет ли аутентификация работать без состояния на СЕССИИ?

1 Ответ

1 голос
/ 28 января 2012

Состояние пришло в Get через этот код:

 $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
 $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
   . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
   . $_SESSION['state'];
...