首页 >后端开发 >php教程 >为什么我的 Laravel 5.5 注册表显示'该页面因不活动而已过期”?

为什么我的 Laravel 5.5 注册表显示'该页面因不活动而已过期”?

Barbara Streisand
Barbara Streisand原创
2024-12-09 07:12:14935浏览

Why Does My Laravel 5.5 Registration Form Show

Laravel 5.5 中的“页面因不活动而过期”:故障排除

在 Laravel 5.5 中提交注册表单时,您可能会遇到错误提示“该页面由于不活动而已过期。”此问题通常是由会话驱动程序配置不当或缺少 CSRF 令牌引起的。

CSRF 令牌配置

通过实施来确保您的表单包含必要的 CSRF 令牌{{ csrf_field() }}。此令牌可保护您的应用程序免受跨站点请求伪造 (CSRF) 攻击。

会话驱动程序配置

  • 数组会话驱动程序:

    • 此驱动程序仅用于测试,因为它不保留会话数据。如果您在生产环境中使用阵列驱动程序,则不会验证您的会话令牌。
  • 文件会话驱动程序:

    • 确保 config('session.files') 中定义的 storage_path 是可写的。此路径用于存储会话数据,包括令牌。

其他潜在原因

  • Session.secure 的 HTTPS 要求已启用:

    • 如果您的 session.secure 设置在 config/session.php 中设置为 true,但您的应用程序未使用 HTTPS,则可能会导致“过期”错误。
  • 会议生命周期:

    • 检查您的会话生命周期是否太短。默认情况下,它设置为 2 小时。您可以在 config/session.php 中调整此值。

解决方法

检查完上述所有潜在原因后,解决通过以下方式解决问题:

  • 将 CSRF 令牌添加到您的form
  • 将会话驱动程序从数组切换到文件(如有必要)
  • 修改 session.secure(如果使用 HTTPS)
  • 调整会话生命周期

以上是为什么我的 Laravel 5.5 注册表显示'该页面因不活动而已过期”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn