Laravel 使用 laravel-s 引发登陆状态问题(所有终端都登陆)

2020-01-13 16:17:29 浏览数 (1)

说下这次血的教训吧? 熟悉我的人,可能知道我的这个小站 是由 Laravel 建立的,目前我的版本变更为 Laravel 6.x 了,然后今天我发现所有客户端,所有人都登陆着我的账号。我靠,把我给吓了一跳。(幸亏是我最近才开始升级写的,也没几天)

赶紧找原因,分析问题。找了半天发现是我使用 laravel-s 引发的问题。

找到了这个 pr :https://github.com/hhxsv5/laravel-s/issues/109

接下来还原事故发生

首先我最开始 安装 laravel-s

代码语言:txt复制
composer require "hhxsv5/laravel-s:~3.5.0" -vvv

然后 发布配置文件

代码语言:txt复制
php artisan laravels publish

然后就是启动了

代码语言:txt复制
php bin/laravels start

我是采用配合 Nginx 进行配置。 Nginx 就不写了。在这里可以看到 如何使用 Nginx 。https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md#与nginx配合使用推荐

就这样我就发布出去了。配置文件看都没看.........

然后就引发了,在一处登录后,所有设备均显示已登录;或者说串号什么之类的问题......

唉。解决方案也很简单。修改 laravels.php 配置文件,将 SessionCleanerAuthCleaner 文件注释删掉

代码语言:txt复制
'cleaners'  => [
    // If you use the session/authentication/passport in your project
     Hhxsv5LaravelSIlluminateCleanersSessionCleaner::class,
     Hhxsv5LaravelSIlluminateCleanersAuthCleaner::class,

    // If you use the package "tymon/jwt-auth" in your project
    // Hhxsv5LaravelSIlluminateCleanersSessionCleaner::class,
    // Hhxsv5LaravelSIlluminateCleanersAuthCleaner::class,
    // Hhxsv5LaravelSIlluminateCleanersJWTCleaner::class,

    // If you use the package "spatie/laravel-menu" in your project
    // Hhxsv5LaravelSIlluminateCleanersMenuCleaner::class,
    // ...
],

这样就好了。但是以防万一,我还是把 storage/framework/sessions 文件删除了。

唉,惨痛的教训啊。之前的版本出现过一次这个问题,没想到我在同一个坑又踩了一次.......所以赶紧写出来,以防我再次踩坑第三次。。。。

版权许可

本作品采用 知识共享署名 4.0 国际许可协议 进行许可。 转载无需与我联系,但须注明出处,注明文章来源

联系我

0 人点赞