Когда вы создаете запрос на Facebook, у вас обычно есть такие URI, как эти ...
// If you want to enable CSRF, you can build some unique state and save it to session
$csrf_state = md5(uniqid(rand(), TRUE));
$this->session->set_userdata('fb_csrf_state', $csrf_state);
$dialog_url = 'http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($redirect_url)
. "&scope=publish_stream,user_about_me,user_birthday"
. "&state="
. $csrf_state;
Если вы включили CSRF, то обычно вам нужно сохранить в сеансе выше $ crsf_state, прежде чем перенаправлять пользователя наFacebook, затем проверка с возвращенным запросом от Facebook (наряду с $ _GET ['code'])
// Then you can inspect the CSRF state
if($this->session->userdata('fb_csrf_state') == $_REQUEST['state'])
{
// This request valid, process...
}
else
{
// CSRF not valid, give user a warning
echo "You may be a CSRF victim, please try again";
}