-
当前版本
1.0.2
-
2026-10-08 14:09
1.0.1
-
2026-09-22 17:01
1.0.0
更多历史版本信息
提示:更新前一定请先备份网站文件和数据库文件
1、修复「打开一次页面被计 2 次请求」的问题:定位到 Discuz! 内核在列表页、帖子页(电脑版与手机版)自动加载的异步发信触发器 home.php?mod=misc&ac=sendmail,已显式排除,打开一次页面只计 1 次。
2、计数口径统一为 * ** * 判定源:新增 _is_page_request(),CC 计数与后台「请求数」统计共用同一条判断——只有真正「打开一个页面」才计数;图片、CSS、JS、附件、验证码图片、页面内 ajax(inajax/ajax=1、X-Requested-With)、新消息与新提醒轮询,以及 api.php/connect.php/admin.php/cron.php/uc.php 等非页面入口和静态资源一律不计。电脑版与手机版共用同一套逻辑,口径完全一致。
3、默认防护模式由「拦截模式」调整为「人机验证模式」:新安装站点在触发 CC 阈值时先弹出系统验证组件,答对即放行,减少误伤真实用户(已安装站点需在后台手动切换)。
4、加固人机验证通行凭证:签名由 HMAC(IP|有效期) 改为 HMAC(IP|有效期|浏览器标识),Cookie 无法被复制到其他客户端脚本中复用。
5、修复「过一次验证即长时间 * ** * 」的空窗:验证通过的 IP 不再完全 * ** * ,而是继续计数、仅放宽判定阈值(新设置项「验证通过后阈值放宽倍数」,默认 5 倍,取值 1-50);一旦超出放宽后的阈值,立即撤销通行凭证、封禁并写入防护记录。
6、新增「验证页下发次数上限」防护:同一 IP 10 分钟内 * ** * 多下发指定次数验证页(默认 30 次,填 0 表示关闭);被要求验证却只刷不答题的机器人达到上限即直接封禁,避免其持续拉取验证页白耗服务器资源。
7、修复后台设置保存的 PHP 8 兼容问题:对数组型参数直接 trim()/intval() 会触发 TypeError 导致 500 错误,已加 is_scalar() 判断。
8、修复超长文本入库报错:拉黑/放行原因等字段按数据库列宽自动截断(新增 hg_clip()),不再因粘贴超长内容导致 SQL 报错。
9、代码清理与输出加固:移除卸载脚本中从未创建的 honmaus_guard_captcha_sessions 死表引用;拦截日志与封禁列表的拦截原因、后台封禁确认框、规则 ID 与数值列、前台验证页题目等输出统一做转义处理。
10、同步「使用说明」(简体/繁体一致):计数口径新增「Discuz 内核自动发起的内部请求不计数,电脑版与手机版口径一致」的说明;修正人机验证章节中「通过验证后不触发频率类拦截」的过时表述;补充「验证通过后阈值放宽倍数」「验证页下发次数上限」两项设置说明;新增常见问题「机器人花钱过验证码平台,会不会过一次验证就一直刷」。
11、删除「使用说明」页顶部重复的标题栏(后台页签已显示模块名称),并同步移除对应语言词条。
12、全插件统一「默认人机验证模式」口径:修正使用说明(使用步骤第 2/5/6 步、模式表推荐场景、常见问题)与后台设置页模式提示中仍写「建议先用仅记录、再切拦截正式生效」的过时表述——统一改为「默认即为人机验证模式,触发规则先弹验证、答对放行不封 IP,日常建议保持;确认阈值无误后再切拦截模式」;同时把概览页状态卡、_captcha_passed() 与设置页模式单选的默认兜底值由 0 统一为 1(仅影响「尚未设置」时的默认显示,已安装站点数据库中已保存的模式不受影响)。
提示:更新前一定请先备份网站文件和数据库文件
1、新增「攻击报表」模块:后台流量限制后新增攻击报表栏目,含攻击原因环形图、攻击 IP 排行 TOP10、被攻击 URI 排行、蜘蛛/搜索引擎统计,支持 * ** * /昨日/近7天/近30天/全部时间范围切换,并汇总已拦截、人机验证、仅记录三种防护结果。
2、概览页新增「攻击报表 →」文字链接,可从 * ** * 攻击 TOP10 面板一键直达报表页。
3、攻击日志新增 blocked 字段,区分三种防护结果(0=仅记录、1=已拦截、2=人机验证)。数据库自动迁移,覆盖文件即生效,无需手动改库或停用重装。
4、攻击报表与拦截日志默认均按「 * ** * 」统计展示,两页口径一致、数字可对上,均可随时切换其他时间范围查看。
5、拦截日志页精简为 5 列(时间/IP/归属地/拦截原因/请求URI),单行展示不换行,并移除「拦截状态」列。
6、优化概览页:实时拦截记录与攻击类型分布改用简短原因名,时间/IP 列不换行,并补齐人机验证类标签配色,版面更紧凑协调。
7、优化攻击报表布局:原因标签不换行、改为上排两列加全宽表格,避免内容溢出显示不完整。
8、统一文案:攻击报表「拉黑」按钮改为「封禁」;验证码答错原因统一为「验证连续答错」(前台提示与后台显示一致)。
9、补充简体/繁体语言包词条,报表、状态、验证码原因等文案双语一致。
10、修复 CC 防护误拦截问题:单IP每秒请求数(QPS)原先按整数秒统计、判定窗口实际约 2 秒宽,导致低于设定阈值(如 10 次/秒)的正常访问也可能被判定为 CC 攻击。现改为按微秒精度做严格 1 秒滑动窗口,QPS 与每分钟请求数均严格按后台设置执行。
11、优化 CC 计数口径:频率统计以「打开一个链接/页面」为单位,页面加载时附带的图片、CSS、JS、附件、验证码图片及页面内 ajax 等子请求不再计入频率,避免正常浏览被误判。
12、同步「使用说明」页内容:新增攻击报表模块说明与「CC 防护计数口径」章节,并新增两条常见问题(打开一个页面算几次、攻击报表与拦截日志数字为何不同)。
13、同步各功能提示文案:CC 总开关、每秒/每分钟阈值提示改为按「打开页面」描述;防护记录页「封禁原因」名词解释同步为新的计数口径(简繁双语一致)。
14、 拦截日志默认时间范围由「全部」改为「 * ** * 」,与攻击报表口径一致;使用说明中对应的常见问题同步改写为排查步骤,并注明拦截日志默认按「 * ** * 」展示。