Claude 时区检测
Claude 或 Codex 会看到时区信号吗?
浏览器会暴露系统时区和时区偏移。ClaudeSignal 将它们与语言、Intl 区域、字体、格式和 IP 归属地一起比较,估算环境的地区一致性。
直接答案
会。网页可以读取浏览器可见的时区名称和时区偏移,这不需要登录,也不需要读取账号数据。时区是最强的客户端地区信号之一,因为它直接反映操作系统的区域设置。
时区本身不能证明位置,但如果它和浏览器语言、中文字体、数字格式、日期格式、IP 国家都指向同一地区,画像就会明显变强。这就是为什么 ClaudeSignal 把时区检测作为 14 项信号中权重最高的两项之一(权重 25 分)。
浏览器时区 API 原理
现代浏览器提供了两组核心 API 来读取时区信息:
时区名称:通过 Intl.DateTimeFormat().resolvedOptions().timeZone 可以获取 IANA 格式的时区名称,例如 Asia/Shanghai、America/New_York、Europe/Berlin。这个名称直接反映操作系统的时区设置,用户无法通过 JavaScript 轻松伪造。
时区偏移:通过 new Date().getTimezoneOffset() 可以获取当前时间与 UTC 的分钟偏移量。例如,北京时间是 UTC+8,返回值为 -480;美东时间是 UTC-5(或 UTC-4 夏令时),返回值为 300 或 240。
这两个 API 在所有现代浏览器中都可用,不需要任何特殊权限。即使页面没有使用任何框架或库,任何一段简单的 JavaScript 代码都能读取这些信息。
常见时区分类
ClaudeSignal 按地区将时区分为几个主要类别:
- 东亚时区:Asia/Shanghai、Asia/Chongqing、Asia/Harbin、Asia/Hong_Kong、Asia/Taipei、Asia/Tokyo、Asia/Seoul 等。如果系统时区落在这些区域,ClaudeSignal 会给中国相关画像增加时区分数。
- 北美时区:America/New_York、America/Chicago、America/Denver、America/Los_Angeles、America/Toronto 等。这些时区指向美国或加拿大。
- 欧洲时区:Europe/London、Europe/Berlin、Europe/Paris、Europe/Moscow 等。这些时区指向欧洲各国。
- 其他时区:Pacific/Auckland、Australia/Sydney、Asia/Kolkata 等,分别指向大洋洲和南亚。
值得注意的是,同一个时区名称可能对应多个国家或地区。例如 Asia/Shanghai 虽然以城市命名,但它被中国大部分地区使用。ClaudeSignal 在评分时会把相近的时区归入同一个"时区家族",用 sameZoneFamily 函数进行模糊匹配。
时区偏移与夏令时
时区偏移不是固定不变的。许多地区实行夏令时(DST),在夏季将时钟拨快一小时。这意味着同一个时区在不同月份可能产生不同的偏移值。
例如,美国东部时区在冬季是 UTC-5(偏移 300 分钟),在夏季是 UTC-4(偏移 240 分钟)。ClaudeSignal 在评分时会检查偏移值是否与 IANA 时区名称一致。如果不一致,可能表明浏览器环境被人为修改过。
中国的时区没有夏令时,所以 Asia/Shanghai 的偏移值始终是 -480 分钟(UTC+8)。这一点使中国时区信号非常稳定,不容易出现季节性波动。
与 Claude Code 内部审核的关系
根据公开的逆向分析,Claude Code 在通过 ANTHROPIC_BASE_URL 指向端点时,会读取操作系统的时区信息。这与其他浏览器端信号不同——Claude Code 运行在终端环境中,可以直接访问系统级的时区设置。
网页端无法读取 Claude Code 能获取的全部信息,但关键信号是一致的。ClaudeSignal 的网页检测使用与 Claude Code 相同的 Intl.DateTimeFormat API,因此检测到的时区信息在大多数情况下与 Claude Code 看到的相同。
时区在 Claude 的内部审核体系中可能扮演重要角色,因为它是一个难以通过简单手段修改的信号。用户可以通过 Chrome flags 修改浏览器报告的时区,但系统层面的时区设置(Claude Code 读取的)需要更深入的修改。
常见问题
使用 VPN 会改变时区信号吗?不会。VPN 只改变网络层面的 IP 地址,不会修改浏览器或操作系统的时区设置。这就是为什么 VPN 用户仍然可能暴露地区信息。
修改 Chrome flags 能隐藏时区吗?可以修改浏览器报告的时区,但这只影响网页端。Claude Code 读取的是系统时区,修改 Chrome flags 不会改变它。而且,修改时区可能导致其他信号(如日期格式、数字格式)出现不一致。
虚拟机或容器会影响时区吗?取决于虚拟机的配置。如果虚拟机继承了宿主机的时区设置,信号不变。如果虚拟机配置了不同的时区,那么在虚拟机中运行的浏览器会报告新的时区。
Docker 容器的时区是什么?默认情况下,Docker 容器使用 UTC 时区。如果容器没有配置时区,ClaudeSignal 会检测到 UTC 时区,这可能与用户的真实时区不一致。
ClaudeSignal 检查什么
Intl.DateTimeFormat().resolvedOptions().timeZone— IANA 时区名称new Date().getTimezoneOffset()— UTC 偏移分钟数- 时区名称是否匹配预定义的地区时区家族
- 偏移值是否与 IANA 时区名称一致
- 偏移值是否与 IP 归属地的本地时间匹配
马上检测
使用 ClaudeSignal 检测你的浏览器时区信号和其他 13 项地区指纹:
了解更多信号: