Laravel 5.1 사이트를 Laravel 5.2.39로 업데이트하고 있습니다. "승인 된"업그레이드 프로세스 (특히 미들웨어)에 많은 문제가 있었기 때문에 새로운 Laravel 5.2 사이트를 만들고 이전 사이트의 내보기, 모델 및 컨트롤러로 이동했습니다.Laravel 5.2 토큰 불일치
TokenMismatchException in VerifyCsrfToken.php line 67:
내 형태는 그들 ({{ csrf_field() }}
사용) 토큰이 있습니다 : 그것은 내가 토큰 불일치 예외 얻을 어떤 형태로 제출하는 경우를 제외하고, 작동하는 것 같군
<div class="form-group">
{!! Form::label('name', 'Name') !!}
{!! Form::text('name', old('name'), ['placeholder' => 'Name', 'class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('email', 'Email') !!}
{!! Form::email('email', old('email'), ['placeholder' => 'Email', 'class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('phone', 'Phone') !!}
{!! Form::text('phone', old('phone'), ['placeholder' => 'Phone', 'class' => 'form-control']) !!}
</div>
{{ csrf_field() }}
<div class="form-group">
{!! Form::submit('Submit', ['class' => 'btn btn-default btn-small']) !!}
<input type="reset" class="btn btn-primary btn-small" />
</div>
를 내가 삭제 한 내 쿠키를 삭제하고 시간 초과가 발생하지 않도록 더 높은 숫자로 config/session.php
lifetime
을 설정해 보았습니다.
이것은 농가 상자에서 실행됩니다.
어떤 아이디어를 시도해 볼까요?
편집 : 여기에 질문
Route::resource('contact', 'ContactController');
EDIT2의 경로입니다 : 여기에 경로 파일입니다. Laravel 5.2에서 웹 미들웨어의 경로를 래핑해야한다고는 생각하지 않지만 동일한 오류로 두 가지 방법을 시도했습니다. 컨트롤러의 생성 작용에 $request->session()->token()
덤프
Route::group(['middleware' => ['web']], function() {
Route::get('/', '[email protected]');
Route::resource('account', 'AccountController');
Route::resource('contact', 'ContactController');
});
형태로 페이지의 현재 세션 토큰을 보여줍니다. 이것은 폼에 추가 된 것과 동일한 토큰입니다 (보기 소스로 확인 됨).
하지만 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::tokensMatch()
클래스에 도달하면 세션 토큰을 덤프하고 양식 토큰과 다릅니다. 즉, 이는 결코 일치하지 않습니다. 여기에 무엇을 기대해야할지 모르겠습니다.
해당 포럼에 대한'''POST'' 경로를 보여 주실 수 있습니까? – xdevnull
@ xdevnull-- 그것은'resource' 경로에 있지만 내 대답을 편집 할 것입니다. 감사합니다 – user101289
@ user101278 그들은 웹 그룹 미들웨어에 있습니까? – xdevnull