UA 与设备信息
浏览器、系统、屏幕、硬件与环境特征的完整画像,本地读取不上传。
UA 与设备信息
读取本机环境…
User-Agent:一段字符串的历史包袱
UA 是浏览器随每个请求自报家门的字符串,格式大致是:Mozilla/5.0 (平台; 系统版本) 引擎 版本。 它在 90 年代浏览器大战中不断累加"兼容声明",最终变成了著名的造句冗余——Chrome 的 UA 里有 AppleWebKit、 有 Gecko、还有 Safari 字样,全是历史兼容的产物,浏览器自己已经不再按字面理解这些标记。 2020 年起 Chrome 冻结了 UA 的次要版本号(永远显示 .0.0.0),并推动用结构化的 UA-CH(Client Hints)替代整段字符串, 因为 UA 既不可靠又是指纹追踪的高熵来源。
UA 交叉验证:为什么伪造 UA 容易露馅
UA 字符串可以随意改(浏览器扩展、开发者工具都能做到),但平台 API(navigator.userAgentData.platform)、 触屏支持(maxTouchPoints)、屏幕与硬件特征来自浏览器底层,与 UA 各自独立。 当 UA 声明 "Windows Chrome" 而平台 API 返回 Android,或 UA 声称移动系统而设备特征为桌面时, 风控系统可直接判定环境伪造——伪装者的常见失误是只改了 UA 字符串,忘了改底层信号。 伪装度评分中的"UA 平台与环境交叉一致"维度检测的就是这类矛盾:不只看你声称自己是谁,而是核对各处信号是否互洽。
这个页面对开发者的用途
前端调试 UA 相关逻辑(响应式断点、特性嗅探降级)、后端核对日志里的客户端画像、 爬虫工程师验证自定义 UA 是否生效,都常用这类页面。比打开 DevTools 看 navigator 对象更直观—— 所有字段一次性铺开,包括 JS 引擎版本、屏幕色深、硬件并发数这些散落各处的属性。
相关文章
浏览器指纹:比 Cookie 更难摆脱的追踪术
清了 Cookie、开了无痕模式,网站为什么还能认出你?浏览器指纹通过 Canvas、WebGL、字体、音频等几十项软硬件特征拼出唯一画像。讲清楚原理、主要维度与对抗手段。
你的浏览器每次请求都说了什么:HTTP 头部泄露
除了 IP,浏览器在每个 HTTP 请求里都自带一串"自我介绍":语言、时区、编码偏好……这些头部加起来就是一张画像。讲清楚常见请求头暴露的信息与最小化方案。
WebRTC 泄露:为什么挂了代理还能被看到真实 IP
WebRTC 是浏览器内置的实时通信组件,它可能在 JavaScript 拦不住的层面拿到你的网卡 IP。讲清楚泄露原理、浏览器差异和关闭方法。
为什么你的代理会被识别?聊聊 IP 伪装度
挂了代理还是被网站认出来?机房 IP、ASN 类型标记、黑名单记录、DNS 与时区一致性、行为指纹……拆解网站识别代理的完整手段清单,以及每一层的自测方法。
更多内容见 博客列表
常见问题
UA 里的 Safari 字样是因为装了 Safari 吗?
不是。这是浏览器大战的历史遗留:Chrome 为了让只认 Safari 标记的网站正常工作,主动在自己的 UA 里塞进了 AppleWebKit/537.36 和 Safari/537.36。所有 Chromium 系浏览器(Edge、Opera)的 UA 都带这两个字样,与是否安装 Safari 无关。
我的 Chrome 明明是最新版,为什么 UA 显示的还是旧版本号?
Chrome 自 2020 年起冻结 UA 中的次要版本(minor version 固定为 0.0.0),只保留主版本号。这是官方策略,目的是降低 UA 的指纹熵并推动网站改用 UA-CH。所以 UA 里的 "Chrome/130.0.0.0" 是刻意为之,不代表你的浏览器没更新。
userAgentData 和传统 UA 有什么区别?
userAgentData(UA-CH,Client Hints)是 UA 的结构化继任者:不是一整段字符串,而是按需提供的键值对(platform、mobile、brands),默认只给低熵信息,高熵字段(架构、完整版本、型号)需要网站显式请求。设计目标就是既满足自适应需求又减少指纹追踪面。
改了 UA 就能伪装成手机吗?
只改 UA 字符串远远不够。手机的特征不止 UA:触屏支持(maxTouchPoints)、屏幕尺寸与 DPR、是否支持振动 API、userAgentData.mobile 标记、性能特征都是独立信号。只改 UA 而其他信号还是桌面特征,交叉验证立刻就能识破。
为什么我的语言列表有多个条目?
浏览器按优先级上报你能接受的语言(Accept-Language),第一个是你设置的界面语言,后面的是你添加的备选语言。多语言列表本身是指纹信号——同时报 zh-CN 和 en-US 的用户在统计上就有明显区分度。