上个月有个做祛斑产品的朋友找我,说刚起的竞价账户又挂了。情况很典型:他用了一个很古老的 302 跳转方案,把 bd.xxx.com 直接 302 到落地页。跑了两天,账户里突然多了一堆“无效流量”标记,第四天收到平台的违规通知,理由是“使用异常跳转手段欺骗系统”。他当时第一反应是换域名,结果换完又封。他问我:页面跳转为什么会被封?
其实这问题我遇到过很多回。大多数人以为页面跳转被封就是“被检测到了”,但真正的原因往往不是某个单点,而是跳转本身暴露了太多的机器特征。今天这篇就把触发原因和防封方法一起讲清楚,顺便把我实际跑过的配置也放出来。
页面跳转为什么会被封?先看平台在检测什么
很多人把页面跳转被封理解成“平台看到了跳转所以封”,这个理解不太准确。搜索引擎和广告平台大多能容忍一定程度的跳转,做网站迁移都还要用 301。它们真正打击的是:跳转行为与正常访问行为偏离太远,且偏离的模式有规律可循。
响应时间异常
正常的页面跳转响应时间在 100ms 到 500ms 之间。一旦跳转逻辑里加了实时数据库查询、远程 API 调用,响应时间可能直接跳到 1 秒以上。检测系统只要统计一下跳转请求的时间分布,就会把一个响应时间集中在 800ms 到 1500ms 的跳转域名标记为可疑。
更极端的情况是跳转逻辑里用到了 sleep 或者并发锁,时间还会出现固定间隔。固定间隔比时间长更先被判定为异常,因为这几乎不可能是人为操作的自然结果。
响应头指纹不统一
同一个跳转域名,每次返回的响应头里的 Server 版本不一致、Nginx 版本号变来变去、cookie 的设置路径不统一,都会被识别为“非标准跳转系统”。尤其是用多台服务器做分布式跳转时,每台机器的 TLS 指纹差别太大,直接暴露了非商业级运维。
检测方其实不会单独看某一项,而是把 Server 字段、HTTP 2.0 帧行为、header 的排列顺序、TLS 指纹组合起来,看成是一个网站的运行画像。你的页面跳转如果每次运行时画像漂移,异常分数就会慢慢累加。
行为特征里少了正常用户步骤
平台判断一个跳转是否正常,会看用户在跳转前做了什么。正常用户从搜索结果进入,会有搜索词、