找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13|回复: 0

[维护日志] [2026-06-24] 异常日志:在线人数虚高及 Redis Session 数据异常

[复制链接]
  • 打卡等级:本地老炮

9337

威望

7448

金钱

1万

贡献

管理员

自由的灵魂

积分
107434
主题
5630
回帖
26661
注册时间
2003-4-10
最后登录
2026-10-2
发表于 2026-6-24 10:45:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

基本信息

项目内容
时间2026-06-24
影响范围论坛首页在线人数显示虚高,统计失真
严重程度中(影响数据展示,不直接影响访问)
状态✅ 已解决


现象描述

  • 论坛首页在线人数显示 41,402 人,而实际在线用户仅 4-6 人
  • 在线列表展示大量无用户名、无活动时间的异常条目
  • 鼠标悬停统一显示 时间:8:00(Unix 时间戳 0 的显示)
  • 数据长期不更新(缓存污染)

排查过程

步骤操作结果
1检查 dx_common_session 表仅 4 条记录,与实际 4-6 人在线基本吻合
2检查 Redis 在线统计键发现 OSkXQN_onlinelist、OSkXQN_onlinerecord、OSkXQN_onlinecount 三个键存储了旧的高位值
3检查 Redis Session 数据存在 158 个 common_session 相关键(包括大量攻击流量生成的游客 Session)


根因分析

  • 攻击流量注入:近期大量扫描/CC 攻击流量访问论坛,在 Redis 中生成了大量 uid=0、username='' 的游客 Session 数据
  • 在线统计缓存固化:攻击流量高峰期,Discuz! 将在线人数统计缓存到了 Redis 的 OSkXQN_onlinecount、OSkXQN_onlinelist、OSkXQN_onlinerecord 中
  • 缓存未被淘汰:这些统计缓存(dateline)未被及时过期或刷新,导致高在线人数长期固化
  • Session 表与 Redis 不同步:dx_common_session 表数据正常,但 Redis 中累积了大量攻击流量 Session,两者不一致导致统计失真

处理方案

操作命令效果
删除固化在线统计缓存redis-cli DEL OSkXQN_onlinelist OSkXQN_onlinerecord OSkXQN_onlinecount✅ 强制清除在线统计
清空 Redis Session 数据redis-cli KEYS "OSkXQN_common_session_*" \xargs redis-cli DEL✅ 清除攻击流量 Session 残留
刷新论坛页面—✅ 在线人数恢复至实际值


后续建议

序号建议说明
1开启雷池 CC 防护限制单 IP 高频请求,从源头减少攻击流量
2设置 Redis Session 自动过期配置合适的 session.gc_maxlifetime,避免 Session 长期驻留
3关注 Redis 命中率当前命中率 9.31%,低于正常水平。随着正常访问恢复,命中率会逐步回升
4定期检查在线人数若异常重现,可再次执行清理命令,但优先考虑雷池拦截





日志已更新至 data/log/online_anomaly_20260624.log。
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖。
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
您的提问是对点拨论坛的最大贡献!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2026-10-2 02:10 , Processed in 0.047935 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表