Laravel Post Request Error: 419 抱歉,您的會話/您的頁面已過期
當您的CSRF 令牌驗證失敗時,Laravel 中會出現此錯誤,表示AppHttpMiddlewareVerifyCsrfToken::class中間件已啟用。 @csrf Blade 指令應包含在表單中,但如果問題仍然存在,建議檢查您的會話配置。
會話設定
CSRF 令牌驗證是與會議密切相關。確保您的會話驅動程式正常運行,例如,配置不當的 Redis 可能會導致問題。
支援的會話驅動程式
Laravel 支援以下會話驅動程式:
- 檔案:會話儲存在storage/framework/sessions。
- cookie:會話儲存在安全、加密的 cookie 中。
- 資料庫:會話儲存在資料庫中。
- memcached / redis:會話是儲存在基於快取的儲存中。
- 陣列:會話儲存在 PHP 陣列中(非持久性)。
可能容易出錯的場景
- 基於檔案的會話可能會因 /storage 目錄中的權限而遇到問題。避免設定過多的權限 (777)。
- 資料庫驅動程式問題:資料庫連線不正確或會話表無效或設定錯誤。
- Redis/memcached 設定錯誤或其他程式碼的干擾。
額外故障排除
- 執行 php artisan key:generate 以產生新的應用程式金鑰,有效刷新會話資料。
- 清除瀏覽器緩存,眾所周知,Chrome 和 Firefox 都會這樣做導致此錯誤。
- 回顧應用程式金鑰對於安全的重要性。
以上是Laravel 419 錯誤:為什麼我的會話過期以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!