|
|
32位XP系统运行Supermium或者Chromium浏览器时,浏览器发送的User-Agent里面写的是64位Windows NT 10.0的原因 |
巨大八爪鱼
武林盟主 二十一級
|
1樓
發表於: 2026-6-16 07:27
这是因为Google悄悄改掉了一个前端用了二十年的东西。从2022年开始,信息一点点被抹掉。 从2022年开始,Chrome启动了一个叫 User-Agent Reduction 的计划。 目标只有一个:让 UA 字符串携带的信息越来越少。 执行过程分了好几步: Chrome 101:次版本号、修订号、补丁号全部归零,你再也看不到 124.0.4472.114,只会看到 124.0.0.0 Chrome 107:桌面端平台信息冻结 Chrome 110:Android 版本冻结为 10,设备型号统一变成 K 截至2023年底,超过61%的Chrome移动端UA已经是这种”冻结版”。 不是bug,是故意的。
|
巨大八爪鱼
武林盟主 二十一級
|
2樓
發表於: 2026-6-16 07:29
然后 Apple 也动了。 其实 macOS 上的 Safari 早在 2017 年就把系统版本冻结在了 10_15_7,无论你装的是什么版本的 macOS,UA 里永远是这串字符。 2025 年 9 月,iOS 26 发布,这件事扩展到了移动端。 以前你能看到真实版本: Mozilla/5.0 (iPhone; CPU iPhone OS 17_5_1 like Mac OS X) AppleWebKit/605.1.15 ... iOS 26 之后 Safari 返回的是: Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 ... 版本号还在,但永远显示 18.6,不管用户实际跑的是 iOS 26 还是以后的 iOS 27、28。 苹果的意思是:这个数字以后不会再动了。
|
巨大八爪鱼
武林盟主 二十一級
|
3樓
發表於: 2026-6-16 07:31
Windows 10 和 Windows 11 在 UA 里写的是完全一样的字符串。你永远没办法从 UA 分辨出用户用的是哪个系统。 为什么要这么做?因为详细的 UA 是一种被动指纹。 你没有同意,它就已经把你的设备型号、系统版本、浏览器版本全部发出去了。 结合 IP 地址、屏幕分辨率、已安装字体,广告商可以精准识别你是谁,即使你清空了所有 Cookie。 Google 的解法是引入 Client Hints: 不再被动暴露所有信息,而是让网站先声明它需要什么,浏览器再决定给不给。 // 以前:浏览器把所有信息都塞进 User-Agent 头,网站被动接收 User-Agent: Mozilla/5.0 (Linux; Android 12; Pixel 6) ... // 现在:网站先告诉浏览器自己要什么 Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Model // 浏览器再按需响应 Sec-CH-UA-Platform-Version: "14.0.0" Sec-CH-UA-Model: "Pixel 6" 这是一次架构层面的转变,从”默认全给”变成”按需申请”。
|
巨大八爪鱼
武林盟主 二十一級
|
4樓
發表於: 2026-6-16 07:32
UA冻结之后,爬虫伪装成普通浏览器变得更容易了。以前你可以通过异常的UA特征发现可疑请求,现在大家的UA长得越来越像,这个手段的可靠性在下降。传统UA字符串不是突然死掉的。它是在慢慢被磨掉信息,一个版本一个版本地冻结。很多代码在两年前写下来还是对的,今天已经悄悄开始返回错误结果。 判断手机和电脑这件事本身没有变难,但如果你依赖的不止这一个,值得花时间检查一下。
|
巨大八爪鱼
武林盟主 二十一級
|
5樓
發表於: 2026-6-16 07:33
|
巨大八爪鱼
武林盟主 二十一級
|
6樓
發表於: 2026-6-16 07:44
|