2017-06-13 154 views
0

我使用Laravel 5.4,一切都是我的開發服務器上非常順利,但是當我移動到服務器,我有一個問題,當登錄到門戶網站,消息顯示,「TokenMismatchException在VerifyCsrfToken.php線68「,並且我已經在登錄提交表單中包含了令牌,但仍然出現此錯誤。Laravel 5.4登錄錯誤

有人能指導我怎麼做,它奮鬥幾個小時。欣賞如果你能指導我解決這個錯誤。

謝謝

+0

https://stackoverflow.com/questions/42687461/laravel-5-4-tokenmismatchexception-in-verifycsrftoken-php-line-68 做ü檢查呢? –

+0

是的,我檢查過。不爲我工作。 –

回答

0

您可以使用此格式

去Kernel.php然後註釋此行以 「保護$ middlewareGroups」 這樣 http://prntscr.com/fj4j7f

\App\Http\Middleware\VerifyCsrfToken::class, 

這不是一個正確的方式,但這仍然適用於你。

你能不能把你的登錄表單代碼,可能是有什麼錯誤,當您添加CsrfToken

+0

感謝對此事發表評論,但我需要驗證令牌檢查。順便說一下,我發現了錯誤,但還是解決它,這是因爲然後提交令牌與會話標識不同。 –

0

敢肯定你推緩存您的應用程序對您的本地項目。嘗試並從服務器上清除您的應用程序緩存

PHP工匠明確:緩存

希望的作品

+0

我已經試過這一點,遺憾的是不爲我工作,感謝您的幫助, –

+0

你已經找到了解決辦法了嗎? –

+0

嗨威利,是的,我要解決它。這是因爲我的會話域,我忘記更改session.php文件上的Session Cookies域URL。如果您遇到同樣的問題,歡迎您問我。 –

0

必須將錯誤文件的權限,

的CSRF令牌的工作方式是閃亮的價值到您的會話,然後將該值與您的表單在下一次請求中提交的值進行比較。如果你的會話沒有被設置,那麼這總是會失敗。確保你的Sessions有效。

嘗試給予更多的權限,這條道路/storage/framework/sessions/*

+0

我對這些文件夾有開放權限,我知道是因爲令牌不匹配,提交令牌與會話令牌不匹配。 –

+0

你嘗試過'php工匠的關鍵:生成'? – Onix

+0

是的,我做到了,我設法解決這個錯誤,因爲我忘記更改我的會話域,所以會話令牌不同。 –

0

我假設你添加$this->middleware('auth');控制器的構造函數中得到驗證工作。添加在頂部以下爲好,在你登錄/註冊表單,如果您正在使用{!! Form::someElement !!}

{!! csrf_field() !!} 

或者,如果你正在使用你的窗體中輸入標籤,只需添加這只是標記後:

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 
0

我設法解決這個錯誤,因爲我忘了改變我的會話Cookie域,因此產生令牌時,它返回兩個不同的令牌值。 感謝您的評論。感謝你的幫助。