鍍金池/ 問(wèn)答/PHP  網(wǎng)絡(luò)安全/ laravel 5.5,表單中包含有token的情況下依然拋出TokenMism

laravel 5.5,表單中包含有token的情況下依然拋出TokenMismatchException錯(cuò)誤?

交代服務(wù)器環(huán)境
Centos 7.4 1708 64位
php v7.1.11
session保存在redis中

本地測(cè)試windows環(huán)境下沒(méi)問(wèn)題,線(xiàn)上就一直是這個(gè)樣子

問(wèn)題復(fù)現(xiàn)在這里
表單提交時(shí)報(bào)錯(cuò)TokenMismatchException
表單中放置了 {{ csrf_field() }}
web頁(yè)面中也有<input type="hidden" name="_token" value="U30e1OBTyGCQMobl4D0rKrqqIbdc23Im3cs3zRcN">
看下圖,post中也有_token數(shù)據(jù)

所以這個(gè)錯(cuò)誤產(chǎn)生的原因是什么呢?該怎么解決?

圖片描述

回答
編輯回答
蟲(chóng)児飛

剛剛到樓主提供的地址, register 表單提交后問(wèn)題重現(xiàn), 很可能是 storage 目錄的權(quán)限問(wèn)題

2017年1月10日 22:33
編輯回答
祉小皓

可以思考方向:

  1. 因?yàn)閏srf是用的session,因此關(guān)系到域名,請(qǐng)看下 config/session.phpdomain 是否有問(wèn)題。
  2. storage 目錄的權(quán)限問(wèn)題
2017年12月31日 05:34
編輯回答
撿肥皂

已經(jīng)解決了。
以后這種問(wèn)題為大家提供一個(gè)解決思路。

  1. 檢查表單中是否有{{ csrf_field() }}
  2. 檢查session中是否含有_token,特別是session存儲(chǔ)位置更換過(guò)的。
  3. 嘗試清理瀏覽器緩存和Cookie

    composer dump-autoload
    php artisan optimize
    php artisan cache:clear
    php artisan config:clear
    php artisan route:clear
    php artisan view:clear
  4. 檢查是否設(shè)置了SESSION_DOMAIN,并且當(dāng)前host要和domain一致
  5. 實(shí)在不行移步Illuminate\Foundation\Http\Middleware\VerifyCsrfToken,慢慢Debug
2018年8月22日 12:29