[英]Laravel routing and CSRF protection
如果我的routes.php文件中包含以下代码行:
Route::when('*', 'csrf', array('post', 'put', 'patch', 'delete'));
我还需要这样做吗?
Route::group(array('before' => 'csrf'), function() {
Route::post('/search', array(
'as' => 'search-post',
'uses' => 'SearchController@postSearch'
));
});
还是可以这样做?
Route::post('/search', array(
'as' => 'search-post',
'uses' => 'SearchController@postSearch'
));
Route::when
过滤器(内部称为模式滤波器 )权之前调用before
的过滤器。 只要正常使用路线,一切都很好。
这是相关的源代码:
public function callRouteBefore($route, $request)
{
$response = $this->callPatternFilters($route, $request);
return $response ?: $this->callAttachedBefores($route, $request);
}
如您所见,首先将调用模式过滤器。 如果他们返回任何响应,它将从此处返回,否则将调用过滤器之前的“正常”。
是; 仅使用Route::post('/search', [...]);
您应该很安全Route::post('/search', [...]);
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.