先给结论:在网站恶意代码检测的咨询记录里,把同一来源的多次咨询合并成一个人,还是按每次咨询各算一次,取决于你下一步要做什么决定。要判断恶意代码影响面,应按人去重;要判断处置流程是否有效、告警是否被反复触发,应按次数保留。两者不是谁更准确,而是口径服务于不同动作。真正危险的是混用:用去重后的人数去评价响应速度,或用未去重的次数去估计受影响用户规模,都会得出错误结论。
假设一个场景:某段时间网站恶意代码检测的咨询工单从每天若干条增加到更多条,看起来问题在恶化。但打开明细会发现,其中相当一部分来自同一批访客或同一台被反复感染的设备,他们每次刷新页面、每次重新提交表单都会触发一次新的咨询。此时有两种合理解释。
这两种解释对应的处置动作完全不同。前者要扩大排查范围,后者要修去重逻辑或调整告警触发条件。如果只看总数就下判断,很可能把重复触发误当成扩散。
按人去重成立的条件是:你的目标是评估恶意代码实际触及了多少独立对象,并且你能拿到稳定的标识。常见可用标识包括登录账号、设备指纹、带时效的会话标识。代价是去重规则本身会引入误差:同一人换设备会被算成两个,同一设备多人共用会被算成一个。所以按人统计必须写明去重键是什么、去重窗口多长。
按次数保留成立的条件是:你的目标是评估检测与响应流程的负载、告警是否被反复触发、修复后是否仍有残留请求。代价是次数会被高频重复行为放大,无法直接回答“多少人受影响”。
可操作的做法是同时保留两套计数,但在报表和决策里只引用其中一套,并标注口径。如果只能选一个,先问自己:接下来的动作是分配排查资源,还是验证修复效果。前者偏向按人,后者偏向按次。
不要依赖总量,要看可核查的明细证据链。以下证据能帮你区分“扩散”还是“重复触发”。
这里要提醒一个常见误判:某天请求量或抓取量突然归零,不能单独证明处置正确。它也可能是采集中断、日志轮转、访问被拦截或统计口径变更造成的。归零只是线索,需要和标识数、来源分布、修复记录交叉验证。
假设某站连续三天收到恶意代码相关咨询,第一天若干条、第二天更多、第三天回落。若按次看,会得出“先恶化后好转”;若按人去重后发现独立标识数三天基本持平,则更合理的解释是同一批对象被反复触发,第三天回落可能只是重复行为减少,而非问题解决。此时下一步动作应是检查触发与去重逻辑,而不是宣布清理完成。这个例子中的数字仅用于说明比较方法,不代表任何真实站点的表现。
建议在检测记录里固定三列:原始次数、去重后人数、去重键与窗口。每次做判断时先声明用哪一列,再说明另一列作为交叉验证。这样当同一用户多次咨询再次出现时,你不需要重新争论人数与次数,而是直接按既定口径得出结论,并让下一步动作与口径一致。