簡體   English   中英

Laravel 5 TokenMismatchException

[英]Laravel 5 TokenMismatchException

我知道這是一個廣泛討論的問題,我已經閱讀了很多有關此問題的帖子,但找不到解決方案。

我已經在PC上本地開發了一個站點,並且一切運行正常。 然后,我將該站點放在我的個人站點上,以查看其功能。 完成此操作后,除我網站的“身份驗證”部分外,其他所有內容似乎均正常工作。 當我嘗試登錄我的應用程序時, TokenMismatchException in VerifyCsrfToken.php line 46收到此錯誤TokenMismatchException in VerifyCsrfToken.php line 46

我沒有在本地收到此錯誤,但是在主機服務器上收到此錯誤。 有什么我想念的嗎? 需要更改配置文件嗎?

我已經更新了.env,app.php,database.php文件以與我的個人站點一起運行。 我確保此<input type="hidden" name="_token" value="{{ csrf_token() }}">元素正好在我的<form>標記下,從其他類似問題的帖子中可以看到。

有想法嗎?

HTML:

<form class="form-horizontal" role="form" method="POST" action="">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">

嘗試執行以下操作:

  1. 清除緩存
  2. 運行php artisan key:generate
  3. 確保將生成的密鑰放置在您的.env文件中。

如果您正在使用jquery發布表單,則應包含csrf_token()

$_token = "{{ csrf_token() }}";
$.post( 'myurl', { param1: $param1, param2: $param2, _token: $_token })
.done(function( data )
{
     console.log('Done!');
});

如果直接發布表單並遇到相同的問題,請轉到app / Http / Resquests / Kernel.php並注釋此行

\App\Http\Middleware\VerifyCsrfToken::class

查看此答案,並始終避免執行上面建議的操作。

jQuery將CSRF令牌添加到所有$ .post()請求的數據中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM