2014-11-05 7 views
0

Вот мой CSRF как скрытыеИспользование CSRF в Laravel

<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')); –

+0

Вы не использовали бы CSRF для маршрутов GET. Только POST, PUT и DELETE – Laurence

+0

И в сыром php я использую проверку HTTP-реферирования, эквивалентно ли этому? If ($ _ SERVER ['HTTP_REFERER'] == '') {header ("Location: logout");} –

Смежные вопросы