Yii2 PHP会话功能失效求助(无代码/Composer更新)
紧急登录故障排查记录
这并非CSRF问题——此前功能正常(已启用CSRF,符合安全要求)。
初始故障与初步处理
今早发现无法登录网站,或登录后无法访问需认证页面,直接跳转至首页。排查发现/var/lib/php/sessions目录下有1600万个文件,推测为问题根源,遂删除所有文件(删除会话文件夹后重新创建并设置原权限)。
处理后登录出现错误:Unable to verify data submission,于是添加代码禁用CSRF:
public function beforeAction($action) { $this->enableCsrfValidation = false; return parent::beforeAction($action); }
部署后重启VPS及apache2,但现在尝试登录时完全无法登录(不再出现验证错误),直接跳转至首页,apache日志及app.log无任何输出。
权限与会话文件检查
已将会话目录所有者及组设置为www-data,权限改为777,确保可写:
[20:15:35][root@vps12345:/var/lib/php]#ls -l total 236 drwxr-xr-x 2 root root 4096 Feb 7 11:34 emptydir drwxr-xr-x 4 root root 4096 Apr 8 2019 modules drwxrwxrwx 2 www-data www-data 229376 Feb 7 20:15 sessions
且会话文件确实已写入该目录:
[20:17:33][root@vps12345:/var/lib/php/sessions]#ls -l | wc 4189 37694 339240
删除目录所有文件后尝试登录(问题依旧,无法登录):
[20:19:13][root@vps12345:/var/lib/php/sessions]#ls -l total 12 -rw------- 1 www-data www-data 23 Feb 7 20:19 sess_9gu45ng49mem7934e8qcap5rr4 -rw------- 1 www-data www-data 14 Feb 7 20:19 sess_aog85dp6ovrpn3hq2l14a46nms -rw------- 1 www-data www-data 14 Feb 7 20:19 sess_r18rb7b72a97ku9dv19p1v3js3
会话内容分析
检查会话文件内容,发现仅包含flash相关数据,无登录会话详情:
[20:32:48][root@vps12345:/var/lib/php/sessions]#for x in $(find . -type f); do cat $x; echo ""; done __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:1:{s:5:"error";i:-1;}error|s:27:"Service category not found."; __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{}__id|i:7; __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:0:{} __flash|a:1:{s:5:"error";i:-1;}error|s:27:"Service category not found."; __flash|a:0:{} __flash|a:0:{}__id|i:69079; __flash|a:{}
进一步排查
已启用数据库存储会话,问题依旧,排除文件写入/权限问题。
目前所有用户均无法登录,情况紧急!近几个月未修改任何代码,未执行Composer命令,无定时任务涉及会话操作。唯一变化是接入广告商Ezoic Inc,期间提供了Cloudflare账号密码供其获取API密钥,不确定是否相关。此外存在缓存情况,不确定是否影响会话:
public function actionLogin() { die('here'); // 仅在POST请求时生效 // 其余登录处理代码... }
内容的提问来源于stack exchange,提问作者gvanto
相关产品推荐
相关产品推荐

