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中文网其他相关文章!