2016-10-08 9 views
0

私の問題はLaravelのためではなく、おそらくPHPの設定(セッション)が原因ではないと私は知っていますが、私はこの特定のプロジェクトをhomesteadで実行していました。今私はフォームを提出した後(これはステップコントローラ、postフォーム - >ステップ2に行くなど)、ページをリフレッシュしてください。私のcsrfトークンが無効です。Laravel CsrfTokenはサーバーの切り替え後に最新表示時に有効期限が切れます

セッションの有効期間や新しいトークンの生成などの理由が考えられましたが、トークンは同じですが、ページを更新してもまだTokenMismatchExceptionになります。

環境は、ホームステッド(nginx(最新)、php(5.6、私はホームステッドの持つものはわかりません)とほとんど同じです)。私はこの問題が発生した手順を経るときのログインが..私はしばらくの閲覧にはログインしたまま、正常に動作しますが、

ソリューション&

問題:

は私が更新するのを忘れてどこ怒鳴るコメントを1として、私が見つけました問題はhttp://...でのdevのサーバーがCloudFlareの経由を余儀なくされたが、LaravelのベースURLが残っていたことを、実際に事実だった - 私はちょうどAppServiceProvider

$this->app['request']->server->set('HTTPS', true); 

に追加され、それが検証エラーをしていませんでした。

+0

.envファイルを正しく設定しましたか? – Kyslik

答えて

0

、私はこの問題は、DEVサーバがCloudFlareの経由を余儀なくされたが、LaravelのベースURLが http://...で放置したことを、実際に事実だったが分かりました
$this->app['request']->server->set('HTTPS', true); 

となっており、確認ミスではありませんでした。

0

提出したフォームでcsrfトークンを送信しますか?そうでない場合:FormBuilderまたはHtmlを使用して、フォームをどのように構築しましたか?それを送信するために必要ではないですので、CSRFトークンが既に掲載されてformbuilderで

FormBuilder

Htmlの

<form method="POST" action="/profile"> 
    {{ csrf_field() }} //This is what you need! 
    ... 
</form> 

あなたは、エラーログを提供するストレージ/ログのあなたのlaravelプロジェクトをチェックインした後、私たちはあなたを助けることができるように、私たちにエラーを提供していませんでした。私はちょうどAppServiceProvider

に追加 - 私は更新するのを忘れてどこ怒鳴るコメントを1として
+0

ログには何もなく、htmlファイルを使用しています。なぜそれがそういうのか分からない。基本的には2つの隠れた入力と '/ setup'から'/setup/step-2'に導く 'post'を使った単純なフォームですが、'/setup/step-2'を即座に更新すると'TokenMismatchException' – dev

+0

データはデータベース内に投稿されていますか、データを投稿している場所はどこですか?それともそれも起こらないのですか?あなたは爽やかな話をしているので、セッションが投稿され、セッションが終了することがあります。 *アドブロックカーを使用していますか?あなたは複数のブラウザでこれを試しましたか?1つしかありませんか? – DennisUtrHU

+0

分割されたフォームは、次のページに投稿するだけで、いくつかの隠しフィールドを埋めます。 adblockerは何も変えていないようだ。ホームステイと一緒に働いているので、コードにないという意味だ。新しいサーバーで何が壊れているのか分からない。 – dev

関連する問題