duanjiu1894 2015-01-05 12:45
浏览 221
已采纳

laravel“csrf”问题“Illuminate \ Session \ TokenMismatchException”

In Laravel I'm getting a "csrf" issue "Illuminate \ Session \ TokenMismatchException"

Route::group(array('before'=>'guest'),function()
{
    Route::get('/user/create',array('uses'=>'UserController@getCreate'));
    Route::get('/user/login',array('uses'=>'UserController@getLogin','as'=>'postCreate'));

    Route::group(array('before'=>'csrf'),function()
    {   
        Route::get('/user/create','UserController@postCreate');
        Route::get('/user/login','UserController@postLogin');
    });
});

that is controller

class UserController extends BaseController{
public function getCreate()
{
    //return View::make('hello');
    return View::make('user.register');
}

that is view

<div class="container">
<h1>Register</h1>
<form role="form" method="post" action="{{ URL::route('postCreate')}}">
    <div class="form-gourp">
        <label for="username">Username: </label>
        <input id="username" name="username" type="text" class="form-control" />
    </div>
    <div class="form-gourp">
        <label for="password">Password: </label>
        <input id="password" name="password" type="text" class="form-control" />
    </div>
    <div class="form-gourp">
        <label for="username">confirm Password: </label>
        <input id="cpassword" name="cpassword" type="text" class="form-control" />
    </div>
    {{form::token()}}
    <div class="form-gourp">
         <input type="submit" value="register" class="btn btn-default"/>
    </div>
</form>

When I add {{form::token }}, it shows the error "Illuminate \ Session \ TokenMismatchException"

  • 写回答

2条回答 默认 最新

  • dongma7725 2015-01-05 16:01
    关注

    You are wrong in your routes.

    Route::group(array('before'=>'csrf'),function()
    {   
        Route::get('/user/create','UserController@postCreate');
        Route::get('/user/login','UserController@postLogin');
    });
    

    Those should be post, like the following

    Route::group(array('before'=>'csrf'),function()
    {   
        Route::post('/user/create','UserController@postCreate');
        Route::post('/user/login','UserController@postLogin');
    });
    

    Read more about CSRF on wiki and laravel doc.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大