Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 拉威尔过滤器不工作_Laravel_Csrf - Fatal编程技术网

Laravel 拉威尔过滤器不工作

Laravel 拉威尔过滤器不工作,laravel,csrf,Laravel,Csrf,由于某些原因,CSRF不工作,不重定向: 这是过滤器 Route::filter('csrf', function() { if (Session::token() != Input::get('_token')) { return Redirect::to('/')->with('errors', 'request failed!'); } }); 这是我的路线 Route::group(array('before' => 'crsf')

由于某些原因,CSRF不工作,不重定向:

这是过滤器

Route::filter('csrf', function()
{

    if (Session::token() != Input::get('_token')) { 

        return Redirect::to('/')->with('errors', 'request failed!');

    }

});
这是我的路线

Route::group(array('before' => 'crsf'), function() {

    Route::get("/Token", function() {

        $different = (Session::token() != Input::get('_token')) ? "IS DIFFERENT" : "IS EQUAL";

        $token = Session::token();
        $input = Input::get("_token");

        $equals = ($token == $input) ? "TRUE" : "FALSE";

        return Response::json(array(
                    "session_token" => $token,
                    "input"     => $input,
                    "diff"      => $different,
                    "equals"    => $equals
       ));

   });

});
响应显示会话令牌和输入(为NULL)之间的比较结果为假,它们不同,但筛选器没有重定向。

您有一个输入错误:

Route::group(array('before' => 'crsf'), function() {
应该是:

Route::group(array('before' => 'csrf'), function() {

尝试删除if语句,在过滤器上只留下一个重定向,以查看过滤器是否被调用。不,它甚至没有被调用是的,这是因为您没有调用它。事实上,我刚刚发现Route::group不起作用,当我在组It worksOmg之外使用过滤器时,这种情况经常发生