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条)

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line