结论先说:当站点从几十个页面扩到几千个页面、或者从单站扩到多站并行时,逐页翻源码找可疑片段、凭记忆比对文件改动、靠人工记录扫描结果这三类工作就该交给工具和流程,继续手工做只会让判断越来越不可靠。但这个结论有个前提——你的站点已经有稳定的文件基线或版本记录;如果每次扫描都没有可对照的版本,那么换工具也只是把混乱放大,此时先补基线比换方法更重要。
小站时代手工扫描之所以可行,是因为人脑能记住“这个文件大概长什么样”。页面数量翻倍后,这种记忆优势迅速消失。具体表现有三种:
这三点的共同后果是:扫描结果不再能支撑决策,只能制造“好像处理过了”的错觉。
不是所有环节都要自动化。可以按“是否需要逐条判断语义”来分:
换句话说,把“找”交给机器,把“判”留给人。
假设你有一个约两千个页面的站点,之前从未记录过文件版本。此时直接上扫描工具,第一次跑出来的“异常”可能大部分是主题更新、插件升级留下的正常改动。你会花大量时间处理误报,最后对工具失去信任。
更稳的动作是:先对当前文件做一次快照,记录路径和哈希值,作为基线;之后每次扫描只和基线比。这个动作的结果会直接影响下一步——如果基线建立后差异数量明显收敛,说明之前的“异常”多是缺少参照造成的;如果差异依然杂乱,说明站点本身存在持续被写入的情况,需要先查写入来源,而不是继续加扫描频率。
注意,差异数量归零并不自动等于站点安全。它还可能意味着扫描范围没覆盖到、基线本身已被污染、或者扫描任务根本没执行。所以看到“零差异”时,要回头核对扫描范围和基线建立时间,而不是直接收工。
团队里常见的一种分歧是:运维说“扫描没发现问题”,编辑说“页面还是被跳转”。这往往不是谁在说谎,而是双方说的“扫描”覆盖范围不同。把分歧转成可核对项目,可以这样做:
这样讨论就从“我觉得有问题”变成“这个路径在某个时间点之后多了这段代码”,下一步该查谁、查什么就有了方向。
反例是:站点规模虽大,但处于频繁改版期,文件每天都在正常变动。此时哈希比对会产生大量合法差异,自动化扫描的噪音高于收益。这种情况下,继续手工抽查关键入口文件反而是合理选择,等改版稳定、基线可固定之后,再切换到自动化比对。判断依据不是站点大小,而是文件变动是否可预期。