2017-05-27 12 views
0

をリダイレクト:LaravelはLaravel 5.4のドキュメントを次のようバックcsrf_token不一致例外

検証は次のように失敗した場合、私は戻ってユーザーをリダイレクトしています:

return redirect('login')->withErrors('Email/password combination not recognised'); 

それは、ルートにログインするために私を取り戻す、私示し私が再びsubmitを押すと、csrf_tokenの不一致が表示されます。私がback()やredirect()を使うかどうかは同じことが起こります。

@if(count($errors)>0) 
<div class="alert alert-danger" role="alert"> 
    <strong>Errors:</strong> 
    @foreach($errors->all() as $error) 
    <li> {{ $error }} </li> 
    @endforeach 
</div> 
@endif 

{{ Form::open(['url' => url('login') ]) }} 

<div class="form-group"> 
    <label for="email" class="col-md-4 control-label">Email</label> 
    <div class="col-md-6"> 
     <input id="email" type="email" class="form-control" name="email" value="" required autofocus> 

    </div> 
</div> 
<br> 
<br> 
<div class="form-group"> 
    <label for="password" class="col-md-4 control-label">Password</label> 
    <div class="col-md-6"> 
     <input id="password" type="password" class="form-control" name="password" required> 

    </div> 
</div> 

<div class="form-group"> 
    <div class="col-md-6 col-md-offset-4"> 
     <div class="checkbox"> 
      <label> 
       <input type="checkbox" name="remember"> Remember Me 
      </label> 
     </div> 
    </div> 
</div> 

<div class="form-group"> 
    <div class="col-md-8 col-md-offset-4"> 
     <button type="submit" class="btn btn-primary"> 
      Login        </button> 
     </div> 
    </div> 
</div> 
{{ Form::close() }} 
+0

コード、HTMLフォーム、および処理スクリプトを投稿してください。 –

+0

フォームコードを確認してください。私はForm :: open()を使用しています – Waleed

+1

分かりません。 '{{csrf_field()}}'を手動で入力してください。 –

答えて

0

は私が...後でそれを検索する人のためそれをここに残しておきます

あなたが戻って使用して戻って前のフォームにリダイレクト

()またはリダイレクト。 Form :: open()はcsrfトークンの入力を生成しますが、空の値を与えます。 {{csrf_field()}}を使用して手動で追加することにより、この例外は生成されません。

0

ユーザーがautenticateされていると、リダイレクト後と前csrf_tokenを検証していないことを確認してください。

HTMLの先頭に<meta name="csrf-token" content="{{ csrf_token() }}">を使用してください。

あなたは、Ajaxを追加jqueryのを使用している場合:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 

をスクリプトタグ内のあなたのベースのアプリレイアウトに。 )(

チェックアウトhttps://laravel.com/docs/5.4/csrf

+0

サーさんそのアヤックスではない – Waleed

+0

確かに。わかった。私はあなたの質問に答えるためにすべてのシナリオをカバーしたいと思っていました。 – Roldan

関連する問題