Php Laravel路由和CSRF保护
如果我的routes.php文件中有这行代码:Php Laravel路由和CSRF保护,php,laravel,csrf,Php,Laravel,Csrf,如果我的routes.php文件中有这行代码: Route::when('*', 'csrf', array('post', 'put', 'patch', 'delete')); 我还需要这样做吗 Route::group(array('before' => 'csrf'), function() { Route::post('/search', array( 'as' => 'search-post', 'uses' => 'Sea
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::post('/search',[…])就可以安全了代码>是;只需使用Route::post('/search',[…])就可以安全了
路由::当
过滤器(内部称为模式过滤器)在
过滤器之前调用时。你们都能正常使用自己的路线
以下是相关的源代码:
public function callRouteBefore($route, $request)
{
$response = $this->callPatternFilters($route, $request);
return $response ?: $this->callAttachedBefores($route, $request);
}
正如您首先看到的,将调用模式过滤器。如果它们返回任何响应,它将从这里返回,否则将调用“正常”前过滤器。
路由::当
过滤器(内部称为模式过滤器)在过滤器之前调用时。你们都能正常使用自己的路线
以下是相关的源代码:
public function callRouteBefore($route, $request)
{
$response = $this->callPatternFilters($route, $request);
return $response ?: $this->callAttachedBefores($route, $request);
}
正如您首先看到的,将调用模式过滤器。如果他们返回任何响应,它将从此处返回,否则将调用“正常”前置过滤器。如何检查它是否正常工作?我不熟悉CSRF保护。请从表单中删除CSRF令牌,提交它并检查是否有错误。它应该抛出一个异常。@rotaercz在浏览器的开发工具中,更改
input type=“hidden”name=“\u token”
字段的值。或者@ceejayoz说的,你们真是太棒了。我马上回来。我怎么能检查它是否正常工作?我不熟悉CSRF保护。请从表单中删除CSRF令牌,提交它并检查是否有错误。它应该抛出一个异常。@rotaercz在浏览器的开发工具中,更改input type=“hidden”name=“\u token”
字段的值。或者@ceejayoz说的,你们真是太棒了。我马上回来。你回答了我很多问题,我想公开表示感谢。当我启动这个网站时,将会有一个叫喊区。我想在那里感谢你。我加上你的名字是卢卡斯盖特,还是你想让我把你的名字放在那里?不客气:)嗯,“卢卡斯盖特”实际上是我的名字。如果你愿意,你可以写“卢卡斯·盖特”可以,我会给你发一个链接!:)你回答了我很多问题,我想公开表示感谢。当我启动这个网站时,将会有一个叫喊区。我想在那里感谢你。我加上你的名字是卢卡斯盖特,还是你想让我把你的名字放在那里?不客气:)嗯,“卢卡斯盖特”实际上是我的名字。如果你愿意,你可以写“卢卡斯·盖特”可以,我会给你发一个链接!:)