该合还是分,取决于两类内容对“扫描结果”的依赖方式不同:活动页要的是当下可访问、可转化,长期知识内容要的是可被反复检索、可长期引用。把两者塞进同一套模板、同一份扫描白名单、同一条发布流程,短期活动一结束就容易留下失效入口,长期内容又会被频繁改动的活动代码反复牵连。更稳妥的做法是:共用扫描能力,但分开承载、分开处置、分开复核节奏。
短期活动页通常生命周期短、改动频繁、依赖表单或跳转,被扫出的异常多为注入脚本、被篡改的跳转、异常外链。长期知识内容改动少、结构稳定,被扫出的异常往往来自评论区、引用的第三方组件或历史遗留文件。前者要的是“快速确认是否还能安全上线”,后者要的是“确认这次异常是否影响已被引用的页面”。
如果只用一个扫描清单覆盖两者,常见的反直觉结果是:活动页明明已经下线,扫描却持续报同一处告警;而一篇长期内容被挂马,反而因为活动页告警太多而被忽略。这不是扫描没用,而是扫描结果没有按承载方式分流。
适合有独立发布流程、能区分目录或子域的团队。前提是活动页与知识内容不在同一批可写文件里,扫描规则可以按路径分组。动作是给活动页单独设一条扫描与下线流程,活动结束后先摘除入口再复查。结果会直接影响下一步:如果复查仍报同一文件,说明问题在公共组件而非活动页本身,处理范围要扩大。
适合活动主题本身有长期检索价值的情况。前提是活动页里的信息不是一次性的,比如常见问题、操作步骤、术语解释。动作是把这部分抽成独立知识页,活动页只保留时效性内容。结果是长期内容获得稳定入口,活动页下线不再带走有效信息;下一步要检查原活动页是否还有外部引用,避免留下死链。
适合纯时效、纯促销、无检索延续价值的内容。前提是已经确认没有外部引用、没有站内导航依赖。动作是到期后移除页面并返回合适状态码,而不是留着空白页。结果是站内可写面缩小,扫描告警来源更集中;下一步应复查该路径是否仍被旧链接指向,必要时做跳转而非放任 404。
告警数量归零或突然上升,都不能单独证明处理正确。可能的解释至少有三种:文件确实被改、扫描规则误报、页面已下线但扫描目标未更新。区分方法是核对三件事:
假设某活动页下线一周后仍持续告警,而修改时间停在下线之前,那么优先怀疑扫描目标未同步,而不是新一轮入侵。此时先更新扫描范围,再观察一次;若告警随范围更新消失,说明是流程问题,下一步应把“下线即移出扫描清单”写进发布流程。
第一,按生命周期划分目录或子域,活动页与知识内容不混放,扫描规则按组配置。第二,活动页上线前做一次针对性扫描,下线时同步摘除入口并更新扫描目标。第三,长期知识内容保持低频改动,扫描异常优先核对是否影响已被引用的页面。第四,把每次告警的处置结论记录下来,用于判断是规则问题还是真实问题。
这样做的直接好处是:扫描结果能对应到具体承载方式,而不是一堆无法归因的告警。短期活动该退就退,长期内容该留就留,两者都不必为对方的节奏买单。
如果团队规模很小、活动页数量极少、发布流程完全一致,强行分开反而增加维护成本。此时可以暂时共用一套流程,但要保留一个明确前提:活动页下线时必须手动确认扫描目标同步更新。一旦活动页数量增加或告警开始互相干扰,就应回到分开承载的方式。判断依据不是“哪种更规范”,而是当前流程能否让每次告警都有明确归属。