laravel框架如何实现csrf

首先在session中生成一个token,Illuminate\Session\Store类有个getToken的方法,用来获取当前的token,这个类有个start方法,会生成一个token;

如何使用csrf呢,在app/router.php中加入以下代码:
Route::post('logout',               array('before' => 'csrf', 'uses' => 'UserController@doLogout'));

那么csrf怎么执行的呢,看app/filter.php中的代码:
Route::filter('csrf', function()
{
    if (Session::token() != Input::get('_token'))
    {
        throw new Illuminate\Session\TokenMismatchException;
    }
});

posted @ 2015-06-21 21:00  szphper  阅读(318)  评论(0)    收藏  举报