有人可以解释我为什么有时会得到这个错误:TokenMismatchException在VerifyCsrfToken.php线67:Laravel 5.2
TokenMismatchException in VerifyCsrfToken.php line 67:
in VerifyCsrfToken.php line 67
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
有时它工作正常。我正在使用这样的控制器中的中间件:
$this->middleware(['admin', 'user'], ['only' => [
'show',
]]);
$this->middleware('admin', ['only' => [
'index',
'store',
'create',
]]);
我没有route.php中的任何中间件,我尝试使用{! csrf_field()!!}和/或{!! csrf_token()!!}在我的表单中,但我仍然有时会得到错误。
这是日志的形式
{!! Form::open(['route'=>'log.store', 'method'=>'POST']) !!}
{!! csrf_field() !!}
{!! csrf_token() !!}
{!!Form::text('user',null,array('placeholder' => 'user'))!!}
{!!Form::password('password',array('placeholder' => 'Password'))!!}<br>
{!!Form::select('logType', [
'A' => 'A',
'E' => 'E',
])!!}
{!!Form::submit('Log in',['class'=>'button'])!!}
{!!Form::close()!!}
crsf是一个默认的中间件。你可以粘贴表单元素和输出crsf标记的位置吗? – Gntem
{!! Form :: open(['route'=>'log.store','method'=>'POST'])!!} {!! csrf_field()!} \t \t \t \t \t \t \t \t {!! csrf_token()!} \t \t \t \t \t \t \t \t用户 '))!} \t \t \t \t \t \t \t \t {!!表格::密码(' 密码”,阵列( '占位符'=> '密码'))!}
\t \t \t \t \t \t \t \t {!!表格::选择( 'LOGTYPE',[ \t \t \t \t \t \t \t \t 'A'=> 'A', \t \t \t \t \t \t \t \t 'E'=> 'E', \t \t \t \t \t \t \t \t])!} \t \t \t \t \t \t \t \t {!!表格::提交( '登录',[ '类'=> '按钮'])!} \t \t \t \t \t \t \t {!!形式: :close()!!} – Saucyloco
With'Form :: open'默认情况下添加了CSRF字段,您不需要添加'{!! csrf_field()!!}'之后... –