2014-11-05 47 views
0

这里是我的CSRF为隐藏在Laravel使用CSRF

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"> 

我的CSRF照常产生

虽然我突入路线控制器

这里是我的老路子

Route::post('register', '[email protected]'); 

并使其与csrf

Route::post('register', array('before' => 'csrf', function() 
{ 
    return 'You gave a valid CSRF token!'; 
})); 

为每Laravel Docs

虽然我路由到控制器

Route::post('register', array('before' => 'csrf', [email protected]() 
{ 
    return 'You gave a valid CSRF token!'; 
})); 

我收到错误

syntax error, unexpected '{', expecting ')' 

什么是我做了错误,我怎样才能解决这个问题 ?

回答

2

您的路线应该是这样的:

Route::post('register', array('before' => 'csrf', 'uses' => '[email protected]'); 

然后你就可以处理它在你的控制器

class RegisterControllerextends Controller { 

    protected function registeruser() 
    { 
     return 'You gave a valid CSRF token!'; 
    } 

} 
+0

而且我可以用这样的吗? Route :: get('view',array('before'=>'csrf','uses'=>'ViewController @ view')); – 2014-11-05 04:46:04

+0

您不会将CSRF用于'GET'路由。如果($ _ SERVER ['HTTP_REFERER'] ==''){header(“Location:logout”);} – Laurence 2014-11-05 04:47:34

+0

在原始php中,我使用http referer验证,是否相当于这个? - 差异的问题 – 2014-11-05 04:50:42