網站會靠瀏覽器指紋識別訪客,這個「指紋」其實由十多項資訊組合而成。本文逐一說明 IP、時區、UA、Canvas、WebGL、AudioContext 等 16 個常見瀏覽器指紋維度的含義與運作原理。
造訪網站時,對方會靜默收集瀏覽器暴露出的各種資訊:作業系統、螢幕解析度、安裝了哪些字型、使用什麼顯示卡渲染圖形……這些資訊單獨看都很普通,但組合在一起,就能形成一個相當獨特的「瀏覽器指紋」。即使你清除了 Cookie 或開啟無痕模式,網站仍可能透過它認出你。
對營運多個帳號的團隊來說,理解每個指紋維度,才能知道環境參數該怎麼設定、為什麼某些參數必須彼此一致。這篇文章會把最常見的 16 個瀏覽器指紋逐一說清楚。
網路與位置類指紋
IP 位址。 每次連上網路,服務商都會為你的裝置分配一個 IP 位址,類似現實中的郵寄地址,確保資料能送到正確的位置。網站會透過它判斷訪客的網路來源,用於定位使用者、內容客製化與安全檢查,例如識別異常登入。IP 分為 IPv4(例如 192.168.1.1)和 IPv6(例如 2001:0db8:85a3::8a2e:0370:7334)兩種格式。
地理位置。 透過 IP 可以大致推斷訪客所在的國家、地區和城市,甚至更具體的位置資訊。網站會利用這些資訊提供在地化內容、語言偏好和區域廣告。
時區與當地時間。 時區可以從 IP 推斷,也可以透過瀏覽器腳本直接讀取。風險點在於一致性:如果 IP 顯示在美國,瀏覽器時區卻是北京時間,這種不匹配很容易被反詐欺系統標記為異常。
瀏覽器基礎類指紋
User Agent(UA)。 這是瀏覽器傳送給網站的字串,包含瀏覽器類型、版本、作業系統等資訊。例如 Chrome 在 Windows 上的 UA 會標示核心版本和系統版本。網站會根據 UA 提供相容的內容與介面。
瀏覽器語言。 指瀏覽器設定中的偏好語言,會透過 HTTP 請求標頭傳送給伺服器。值得注意的是:瀏覽器介面語言和對外暴露的語言指紋可以不一致——只要語言指紋與代理 IP 所在地區相符,即使介面顯示成中文,也不影響環境一致性。
字型。 每台裝置安裝的字型組合不同,瀏覽器可以透過腳本列出可用字型。安裝了大量非標準字型的裝置,字型清單本身就可能成為很強的識別特徵。
螢幕解析度。 既包括實體螢幕解析度,也包括瀏覽器可視區域尺寸,也就是扣除工具列、分頁列後的大小。不同裝置的顯示組合差異明顯,是常見的指紋維度。
硬體並行數與裝置記憶體。 瀏覽器可以透過 hardwareConcurrency 讀取 CPU 邏輯核心數,並透過 deviceMemory 取得大致的記憶體容量。後者通常以 2 的倍數回報,且上限為 8GB,這是瀏覽器保護隱私的設計之一。
Do Not Track。 使用者可以在瀏覽器設定中開啟「不追蹤」標記。有趣的是,因為大多數使用者不會修改這項設定,開啟它反而可能讓你在大量預設使用者中顯得特別,成為可識別的特徵之一。
圖形與媒體類指紋
Canvas 指紋。 網站可以讓瀏覽器在 Canvas 畫布上繪製圖形和文字,再分析渲染結果。不同裝置的螢幕、字型、顯示卡會讓渲染結果產生像素層級的細微差異,這些差異組合起來就形成相當獨特的「數位指紋」,因此 Canvas 是識別能力很強的一類指紋。
WebGL 與 WebGPU。 這些是與圖形相關的 API,可讓網頁呼叫 GPU 渲染 3D 圖形。網站可以透過它們讀取顯示卡型號等硬體資訊,形成硬體層級的指紋。玩瀏覽器 3D 遊戲時可以感受到它們的作用,而它們同時也是重要的指紋來源。
媒體裝置指紋。 可以透過 MediaDevices API 取得攝影機、麥克風等裝置的資訊,包括裝置類型、名稱、解析度、連線方式等。現代瀏覽器基於隱私考量,通常需要使用者授權才能讀取。
AudioContext 指紋。 AudioContext 是瀏覽器處理音訊的 API。不同裝置的音訊硬體與軟體在處理聲音時會有細微差異,這些差異可以被擷取並形成「聲音指紋」,同樣具有較高的區分能力。
版面與其他類指紋
ClientRects。 網頁渲染時,瀏覽器會持續計算頁面元素的位置和大小,計算結果會因裝置、瀏覽器和視窗大小而不同。網站把這些版面資訊組合起來,也能形成可用於識別的特徵。
SpeechVoices。 這種指紋是根據裝置可用的語音合成選項形成,包括不同語言、口音與發音人。不同裝置的語音設定幾乎不可能完全相同,因此也具有識別價值。

理解指紋,才能配對環境
以上 16 個維度裡,IP、時區、語言、UA、Canvas、WebGL、AudioContext 等,是對多帳號營運影響最大的幾項。設定瀏覽器環境時,關鍵不是讓每個參數都很「特殊」,而是整套參數彼此一致:代理 IP 在美國,時區、語言、UA 就都應該指向美國;反過來,參數之間彼此矛盾反而更顯眼。
PurpleMark 的網頁版在建立環境時涵蓋了上述主要維度:作業系統與 Chromium 核心版本、User-Agent 與解析度、瀏覽器語言、時區與地理位置(可跟隨 IP 或自訂)、字型清單、WebGL 中繼資料、WebGPU、WebRTC 與代理 UDP,以及 Canvas、AudioContext、媒體裝置、ClientRects、SpeechVoices、Do Not Track、硬體加速、MAC 位址與連接埠掃描保護等開關。設定時可以參考一個簡單原則:以商業帳號面向的地區為基準,讓網路、系統、語言和進階指紋指向同一地區,並長期保持環境穩定。
需要說明的是,環境隔離降低的是帳號之間因共用環境而產生的關聯風險。帳號能否長期穩定,仍取決於內容品質以及操作是否符合平台規則,指紋參數只是其中一個環節。
常見問題
瀏覽器指紋會變嗎?
會。變更裝置設定、安裝新軟體、更新瀏覽器或作業系統,都可能讓指紋發生變化。這也是為什麼多帳號環境一旦設定好,建議保持穩定,不要頻繁修改。
清除了 Cookie 還會被識別嗎?
有可能。Cookie 只是識別手段之一,Canvas、WebGL、AudioContext 等指紋不依賴 Cookie,清理 Cookie 後指紋仍然存在。這也是「無痕模式不等於隱身」的原因。
所有網站都會收集瀏覽器指紋嗎?
不是所有網站都會主動收集,但主流社群、電商與廣告平台大多會利用指紋進行風控、反詐欺和廣告定向。對一般使用者影響有限,對多帳號營運者則影響較大。


