【发布时间】:2019-04-17 14:08:12
【问题描述】:
我在 Laravel 5.6.39 上收到错误 The page has expired due to inactivity. Please refresh and try again.。在 Chrome 的“网络标签”中显示错误 login - 419 unknown status
刷新页面后,我立即收到错误消息。所以我再也看不到登录视图了,然后我就卡住了。想想没有经验的普通用户,只尝试刷新页面。如果它不起作用,他们会离开您的应用。
我可以按照以下步骤重现错误:
- 进入登录视图
- 输入用户名和密码,不要勾选“记住我”标志
- 等待会话过期(出于测试目的,我将
SESSION_LIFETIME设置为 1 分钟) - 点击登录按钮,我得到了那个错误
我已经阅读并尝试了最常见的原因:
-
@csrf出现在登录表单中(这是 Laravel 的默认身份验证) - 文件夹
storage有755但也尝试使用775和777 - 试图启动
php artisan cache:clearphp artisan config:clearphp artisan route:clearphp artisan view:clearphp artisan config:cachephp artisan key:generate - 我使用默认的
SESSION_DRIVER=file,但在生产中我也尝试用SESSION_DRIVER=cookie替换它和SESSION_DOMAIN=https://app.my-domain.com/
在这里您可以找到我的代码(控制器、视图、路由、.env、...): https://gist.github.com/dangelion/aa7fc54ea75f7b2d6062fc79f07e04e8
我真的没有更多的想法来解决这个问题。 一些帮助?谢谢
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
-
在@Fred K 上做过一个很好的解决方案吗?
标签: php laravel session laravel-5 csrf