说下这次血的教训吧? 熟悉我的人,可能知道我的这个小站 是由 Laravel 建立的,目前我的版本变更为 Laravel 6.x 了,然后今天我发现所有客户端,所有人都登陆着我的账号。我靠,把我给吓了一跳。(幸亏是我最近才开始升级写的,也没几天)
赶紧找原因,分析问题。找了半天发现是我使用 laravel-s 引发的问题。
找到了这个 pr :https://github.com/hhxsv5/laravel-s/issues/109
接下来还原事故发生
首先我最开始 安装 laravel-s
composer require "hhxsv5/laravel-s:~3.5.0" -vvv
然后 发布配置文件
php artisan laravels publish
然后就是启动了
php bin/laravels start
我是采用配合 Nginx 进行配置。 Nginx 就不写了。在这里可以看到 如何使用 Nginx 。https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md#%E4%B8%8Enginx%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E6%8E%A8%E8%8D%90
就这样我就发布出去了。配置文件看都没看.........
然后就引发了,在一处登录后,所有设备均显示已登录;或者说串号什么之类的问题......
唉。解决方案也很简单。修改 laravels.php 配置文件,将 SessionCleaner
和 AuthCleaner
文件注释删掉
'cleaners' => [
// If you use the session/authentication/passport in your project
Hhxsv5\LaravelS\Illuminate\Cleaners\SessionCleaner::class,
Hhxsv5\LaravelS\Illuminate\Cleaners\AuthCleaner::class,
// If you use the package "tymon/jwt-auth" in your project
// Hhxsv5\LaravelS\Illuminate\Cleaners\SessionCleaner::class,
// Hhxsv5\LaravelS\Illuminate\Cleaners\AuthCleaner::class,
// Hhxsv5\LaravelS\Illuminate\Cleaners\JWTCleaner::class,
// If you use the package "spatie/laravel-menu" in your project
// Hhxsv5\LaravelS\Illuminate\Cleaners\MenuCleaner::class,
// ...
],
这样就好了。但是以防万一,我还是把 storage/framework/sessions
文件删除了。
唉,惨痛的教训啊。之前的版本出现过一次这个问题,没想到我在同一个坑又踩了一次.......所以赶紧写出来,以防我再次踩坑第三次。。。。
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。 转载无需与我联系,但须注明出处,注明文章来源