User-Agent是平台在连接时看到的最初标识符之一。大多数反检测用户关注它,但做法不对:他们从数据库中取一个随机User-Agent,不检查与其他标头和浏览器环境的一致性。结果 - 在几秒内被检测到的不匹配。微调User-Agent和HTTP标头不是关于一个参数,而是关于创建一个内部一致的数字资料。
什么是User-Agent及其为什么重要
User-Agent是浏览器在每个请求的HTTP标头中发送的字符串。它包含有关操作系统、浏览器版本、渲染引擎的信息。Windows 11上Chrome 124的示例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
问题不在于User-Agent是已知的 - 问题在于它必须精确匹配数十个其他信号:JavaScript导航器API、支持的浏览器API、V8引擎版本、CSS能力。
暴露伪造的不匹配
UA说Chrome 124,JavaScript API说Chrome 120
反欺诈通过JavaScript读取navigator.userAgent并与HTTP标头比较。但这还不是全部 - 它还检查navigator.userAgentData.brands(客户端提示),必须与声明的Chrome版本匹配。标头和客户端提示之间的差异是欺骗的明确迹象。
UA说Windows,指纹说Mac
Canvas指纹、系统字体、系统对话框行为 - 所有这些在操作系统之间都不同。如果User-Agent指示Windows NT,但Canvas指纹是macOS特有的,系统会检测到不匹配。
过时的User-Agent
Chrome每4-6周更新一次。2026年具有Chrome 110版本的User-Agent意味着要么是非常旧的设备(极其罕见),要么是伪造的。当前版本是必需的。
正确User-Agent形成的规则
版本时效性
落后当前Chrome版本超过2个主要发布版本存在风险。在2026年,Chrome 120-125+是当前的。检查当前版本:chromestatus.com或官方更改日志。
与平台的一致性
- Windows 11 → Chrome: Windows NT 10.0; Win64; x64
- macOS Sonoma → Chrome: Macintosh; Intel Mac OS X 10_15_7
- Android 14 → Chrome Mobile: Linux; Android 14; Pixel 8
UA中的操作系统版本必须与navigator.platform和其他JavaScript属性返回的版本相匹配。
客户端提示对应
现代浏览器传输User-Agent客户端提示(Sec-CH-UA)- 具有浏览器版本和操作系统的结构化标头。大多数反检测浏览器自动将它们与UA协调,但通过DevTools或检查服务进行手动验证值得做。
HTTP标头:完整图景
User-Agent只是数十个HTTP请求标头中的一个。反欺诈系统分析整个集合以检测异常。
要检查的关键标头
- Accept:必须与请求类型和浏览器匹配。Chrome: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
- Accept-Encoding:Chrome支持br(Brotli)。其缺失对现代Chrome来说是异常。
- Accept-Language:必须与navigator.language中的浏览器语言匹配。德国代理 - 德国Accept-Language。
- Sec-Fetch-*:描述请求上下文的标头。其存在和正确值对Chrome 80+很重要。
标头顺序
鲜为人知的事实:请求中HTTP标头的顺序对于每个浏览器和版本都是确定性的。Selenium和Playwright默认以与真实Chrome不同的顺序发送标头。高级检测系统将此用作一个信号。
客户端提示:新的识别级别
从Chrome 90+开始,浏览器支持User-Agent客户端提示(UA-CH)- 允许服务器请求详细浏览器信息的机制。响应包括:
- Sec-CH-UA-Platform:操作系统
- Sec-CH-UA-Platform-Version:操作系统版本
- Sec-CH-UA-Mobile:移动设备
- Sec-CH-UA-Arch:架构(x86、ARM)
- Sec-CH-UA-Bitness:64或32位
所有这些值必须相互协调,并与User-Agent字符串协调。现代反检测浏览器(Dolphin Anty 6+、AdsPower最新版本)自动管理客户端提示,但手动验证无伤大雅。
实践:检查你的资料
检查工具
- browserleaks.com/useragent - 完整的User-Agent分析和不匹配。
- httpbin.org/headers - 查看服务器看到的所有标头。
- pixelscan.net - 包括UA的综合指纹检查。
- coveryourtracks.eff.org - 你的资料有多独特。
资料设置后要检查的内容
打开每个新资料并浏览所有四个服务。寻找:UA和客户端提示中的版本不匹配、Accept-Language与navigator.language的差异、Sec-Fetch标头中的异常、WebRTC泄漏。
移动资料:其他细微之处
如果资料模拟移动设备(Android + Chrome Mobile),一致性要求增加一倍。除了UA,你还必须匹配:视口大小、触摸API、devicePixelRatio、加速度计API、UserAgentData.mobile: true和适当的Accept-Language。
结论:标头作为系统的一部分
正确的User-Agent和HTTP标头是反检测的必要但不充分的元素。它们只有与独特的Canvas指纹、正确的代理和每个资料的单独电话号码一起工作才有效。如果你在构建有弹性的账户基础设施,从正确的验证开始:在turbon.rent为每个资料获取唯一虚拟号码 - 50多个国家,即时短信送达。