photo_2026-07-26_02-19-37.jpg
47.4 KB
【美盛】【星汇】【MSH-开云体育】程序盗分BUG今日修复日志(2026-07-29)
一、服务器与磁盘
• 问题:/dev/vda2 100% 满,导致 api.app 等接口全部 500。
• 原因:/www/backup/site/ 堆积了 39G 全站备份。
• 处理:保留每个站点最新 2 份备份,删除旧备份,释放约 32G,磁盘从 100% 降到 45%。
• 后续:新增 /root/cleanup_disk.sh,每天 03:40 执行,并写 crontab。策略:保留 2 份最新全站备份、14 天前数据库备份删除、7 天前 gzip 日志删除、超过 500MB 的 access 日志截断、30 天前面板日志删除。
• 验证:脚本手动跑成功,df -h 显示 45%,crontab 已生效。
二、API 500 与 wap.cc 跳转修复
• 修复 IndexController::getVisitUrl():$_SERVER[‘HTTP_ORIGIN’] 未定义时抛错,改成 $request->header(“Origin”) ?? “”。
• 双线路同步:.com / .net 都改。
• 修复 wap.dajian168.cc 错误跳到 .com:
• 把 .net 前端 JS 里的 API 基地址改回 https://api.dajian168.cc
• index.html 加 ?v=20260729 缓存破坏
• 后端 getVisitUrl() 增加域名族识别,强制返回 .cc 链接,防止旧 CDN 缓存仍指向 .com
• 验证:/api/app、/api/game/list、/api/getVisitUrl 双线路均 200;浏览器访问 wap.cc 实测不再跳到 .com。
三、官方安全补丁应用
• 给 Api/PayController::transfer、transAll 加 Redis 锁 + DB 事务 + lockForUpdate。
• 给 Api/IndexController::allmz 加同类型并发锁。
• 修复 uptransferstatus 的全量更新:$user->update($data) 改为只更新 transferstatus。
• 禁用 /api/userblance 后门路由:双线路 routes/api.php 注释该路由,返回 404。
• 保留原有四层风控:未充值拦截、1分钟/小时/日频次限制、新号 24h 限额 1000、单笔 50000 上限。
• 验证:php -l 全通过;/api/userblance 双线路 404;核心接口 200;Redis 无残留锁。
四、全库 mass assignment 安全排查
• 扫描 update($data) / create($data) / 可疑写接口。
• 确认 Wap/IndexController::fillData、Member/MemberController::fillData / uptransferstatus、Member/PayController::editCard、Api/PayController::bindCard / recharge 已白名单化或 unset 危险字段。
• 删除遗留的 /api/autogetusermoney 死路由(方法已不存在,调用必 500)。
• 验证:全库裸 update($data) 清零;php -l 通过;核心接口回归 200。
五、后台 .cc 线路治理
• 清理 .net 代码中 3 个免密登录后门:/admin/temp-autologin-656、/temp-autologin-admin-656、/autologin-656(均使用 loginUsingId(1))。
• 修复 admin.dajian168.cc nginx rewrite 缺失 try_files,导致 /admin/* 全 404。
• 对齐 VerifyCsrfToken:.net 曾豁免 admin/auth/login,已还原为 .com 配置。
• 对齐 TrustProxies:.net 从 null 改为 *,适配 Cloudflare。
• 验证:后门 URL 404;admin.cc 登录页 200;带 CSRF token 登录 200,无 token 419。
六、TgService.php 同步
• 问题:.com 的 allRecords 是旧版 5 参数,CrawGameRecord 已改成 7 参数调用,长期会 fatal。
• 处理:把 .net 新版 /ley/gamerecord 实现同步到 .com。
• 验证:双线路 php -l 通过;双线路 CrawGameRecord 执行成功,updated=661。
七、Userbalance 后台余额调整表单加固
• 加一次性 _nonce 防重放/重复提交。
• 修正日志金额 bug:在 save() 前记录调整前余额,再计算调整后余额。
• 双线路同步。
• 验证:php -l 通过;匿名访问 edit 页 302;核心接口回归 200;admin.cc 登录页 200。