nginx Laravel 419|会话已过期

sg24os4d  于 4个月前  发布在  Nginx
关注(0)|答案(2)|浏览(87)

我在登录时遇到Laravel会话问题。
1.是的,我的表格中包含了CSRF令牌。
2.是,令牌未过期。
3.是的,会话安全Cookie设置为假。
我使用redis作为我的SESSION_DRIVER,而expiration time设置为120 minutes
最让我烦恼的是,"有时有效,有时无效“。
如果我打开一个匿名选项卡并尝试登录,10/20次它会正常工作,没有任何问题,但其他10次会导致
[419 |会话已过期]错误

我的环境是CentOSNginx
没有任何代理,我也没有使用云耀。
我真的很惊讶,因为行为是不一致的,这是字面上的随机行为,导致成功或不成功的登录。
有人知道是什么情况吗?

p8ekf7hl

p8ekf7hl1#

我也遇到了同样的问题,我的应用程序在localhost上工作,并在cpanel上显示该错误。解决方案是更改SESSION_DOMAIN变量,如果您的应用程序是live,其值应该是您的域。SESSION_DOMAIN=domain.com

bvuwiixz

bvuwiixz2#

要解决此错误,您首先需要将以下命令之一插入表单标记中。

@csrf OR {{ csrf_field }}

字符串
如果您的问题没有解决,请执行以下操作:(注意,上述命令之一必须在表单标记中)
1.将以下命令之一插入表单标记@csrf OR {{ csrf_field }}
2.打开.env文件并将值更改为SESSION_DRIVER部分中的“file”。
3.然后你应该重置laravel缓存。在终端中输入以下命令
php artisan view:clearphp artisan route:clearphp artisan cache:clear
php artisan config:cachephp artisan optimize
4.在最后一步,从服务器中拔出项目,并再次单击php artisan serve
希望你的问题解决了

相关问题