Laravel 5.5 中的「頁面因不活動而過期」:故障排除
在Laravel 5.5 中提交註冊表單時,您可能提交會遇到錯誤提示「該頁面由於不活動而已過期。」此問題通常是由會話驅動程式配置不當或缺少CSRF令牌引起的。
CSRF 令牌配置
透過實作來確保您的表單包含必要的 CSRF 令牌{{ csrf_field() }}。此令牌可保護您的應用程式免受跨網站請求偽造 (CSRF) 攻擊。
會話驅動程式配置
-
陣列會話驅動程式:
- 此驅動程式程式僅用於測試,因為它不保留會話資料。如果您在生產環境中使用陣列驅動程序,則不會驗證您的會話令牌。
-
檔案會話驅動程式:
- 確保config('session.files') 中定義的storage_path寫的。此路徑用於儲存會話數據,包括令牌。
其他潛在原因
-
Session.secure 的
- Session.secure 的HTTPS 要求已啟用:HTT
如果您的session.secure 設定在 config/session.php 中設定為 true,但您的應用程式未使用 HTTPS,則可能會導致「過期」錯誤。 -
檢查您的會話生命週期是否太短。預設情況下,它設定為 2 小時。您可以在 config/session.php 中調整此值。
解決方法
- 檢查完上述所有潛在原因後,解決上述所有潛在原因後,解決上述方式解決問題:
-
將CSRF令牌新增至您的form- 將會話驅動程式從陣列切換到檔案(如有必要)
- 修改session.secure(如果使用HTTPS)
調整會話生命週期
以上是為什麼我的 Laravel 5.5 註冊表顯示「該頁面因不活動而過期」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!