あなたはFacebookのにリクエストを構築するとき、あなたは々ussuallyこれらのような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を有効にした場合は、上記保存する必要がありussualy ($ _GET [ 'コード']と辺に沿って)のFacebookから返された要求に検査し、次いで、フェイスブックにユーザをリダイレクトする前にセッションの$ crsf_state、
// 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";
}
おかげ@i_forget 、私は私の質問を編集しました – insomiac