2014-11-05 58 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