You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

浏览器指纹识别:如何将时区改为‘未指定’

如何让JavaScript时区检测返回“未指定”(无需禁用JS)

好问题!既然要保留网站功能但又想隐藏真实时区信息,这里有几个我亲测有效的方案,都是通过修改JavaScript环境里的时区检测API来实现的:

方法1:用Tampermonkey/Greasemonkey脚本(最灵活)

这是我最推荐的方式,能精准控制生效范围,不会影响全局浏览器行为。你可以写一个用户脚本,重写浏览器的时区相关API,让它们返回“未指定”或者模拟无时区状态:

// ==UserScript==
// @name         Hide Real Timezone
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Make JS timezone detection return "Unspecified"
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 重写Intl.DateTimeFormat的resolvedOptions方法,返回自定义时区
    const originalResolvedOptions = Intl.DateTimeFormat.prototype.resolvedOptions;
    Intl.DateTimeFormat.prototype.resolvedOptions = function() {
        const options = originalResolvedOptions.call(this);
        options.timeZone = '未指定'; // 也可以用'Etc/Unknown'这类标准未知时区值
        return options;
    };

    // 可选:重写getTimezoneOffset,返回中性的UTC偏移量
    const originalGetTimezoneOffset = Date.prototype.getTimezoneOffset;
    Date.prototype.getTimezoneOffset = function() {
        return 0; // 模拟UTC时区的偏移量
    };
})();

安装这个脚本后,大部分网站的JS时区检测都会拿到你设置的“未指定”值,完全不影响网站其他功能。

方法2:修改浏览器启动参数(全局生效)

如果想让所有网站都生效,可以通过浏览器启动参数强制设置特殊时区:

  • Chrome/Edge:在快捷方式的目标栏末尾添加 --timezone="Etc/Unknown"(注意前面有空格)
  • Firefox:在about:config里把privacy.resistFingerprinting设为true,这个选项会自动隐藏时区等指纹信息,让网站检测到UTC时区,部分场景下会被识别为“未指定”

不过要注意,全局设置可能会影响依赖时区的网站功能(比如日历类站点),按需使用就好。

方法3:用隐私增强浏览器或扩展

像Tor Browser这类隐私浏览器默认就会隐藏时区信息;或者安装Privacy Badger、uBlock Origin这类扩展,开启指纹防护功能,它们会自动干扰时区检测,让结果返回“未指定”或随机值。

验证方式

设置完成后,你可以去amiunique.org的统计页面检查,确认时区检测结果已经变成“未指定”,就说明方案生效了。

内容的提问来源于stack exchange,提问作者JohnWick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:23:33