瀏覽器指紋是什麼?
是電腦和電腦之間的細微差異:顯示卡和驅動程式畫 Canvas、WebGL 的結果,處理聲音時的捨入誤差,裝了哪些字型,再加上螢幕、語言和時區。單看每一項都很普通,合在一起往往就獨一無二。網站把它們算成一串固定的編碼,也就是指紋 ID;執行同一段腳本的網站,算出來的你都是同一個 ID。
網站不用 Cookie 也認得出你。你的系統怎麼畫文字和圖形、怎麼處理聲音、裝了哪些字型,合起來就是一個 ID:換網站、開無痕、開 VPN 都不會變。下面是你的指紋、它由哪幾部分組成,以及你的瀏覽器有沒有把它打亂。
你正在 的內建瀏覽器裡,下面的結果是這個內建瀏覽器的。想測你平常用的瀏覽器,請複製連結,到 Safari 或 Chrome 開啟。你正在某個 App 的內建瀏覽器裡,下面的結果是這個內建瀏覽器的。想測你平常用的瀏覽器,請複製連結,到 Safari 或 Chrome 開啟。你正在微信裡開啟,下面的結果是微信內建瀏覽器的。想測你平常用的瀏覽器,請點右上角 ··· 選「在瀏覽器開啟」。
口口口口口口口口口口口,現在人在口口口口口口口口口口口口口口口口口口口口。你說口口口口口口口,電腦的時區是口口口口口口口,時鐘用口口口口口口。
口口口口口口口口口口口口口口口口口口口口口口
你用的是口口口口口口口口口口,瀏覽器是口口口口口口口口口口口口,螢幕口口口口口口口口口口口,顯示卡是口口口口口:口口口口口口口口口口口口口口口口口口口口口口口口口口。
你透過口口口口口口口口上網,口口口口口口口口,口口口口口口口口口口口口口口口口口;幫你把網址換成 IP 位址的 DNS 伺服器在口口口口口。口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口。
你喜歡口口口口口,口口口口口口口口口口口口,口口口口口口口口口口口口口口。口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口。裝的字型透露了一點:口口口口口口。至於年齡,口口口口口口口口口口口口口口。
在網站眼裡,這是口口口口口口口口口口口口口口口口口口口口口口口口口口。口口口口口口口口口口口口。你在口口口口口口口口口口口口口打開了這個頁面,口口口口口,口口口口口口口口口口口。
放在人群裡,口口口口口口口口口口口口口口口口口口口口口口口。
位元越多越罕見:每多 1 位元,和你一樣的人就少一半。各項之間並不獨立(例如 4K 螢幕和高階顯示卡常一起出現),所以整個指紋按它自己的真實次數計算,不是把各項乘起來。
為了告訴你有多少人和你一樣,本站會累計匿名計數:不存 IP,不存完整指紋,也沒有單次造訪的紀錄。 ·
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloprobe.zs.al · TCP SYNprobe.zs.al · JA4probe.zs.al · HTTP/2 SETTINGSprobe.zs.al · HTTP/3 · QUIC JA4Date.now()RTCPeerConnection · STUNWebRTC host candidateIPv6 EUI-64 (ff:fe)1.1.1.1 · /cdn-cgi/tracechatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatIntl.supportedValuesOfnavigator.keyboardspeechSynthesisError.messageJS feature probesFunction.prototype.toString · iframeCSS.supportscanvas text antialiasingcanvas.toDataURLWebGL getParameterOfflineAudioContextMath.* → SHA-256emoji measureTextfonts → SHA-256getClientRects · RangeSVG getBBox · getComputedTextLengthmeasureText actualBoundingBoxWebGL readPixelswindow · HTMLElement · CSS keysperformance.now() resolutionrecursion depthSHA-256screen · cores · GPU · fonts → SHA-256HTTP cache · ETag / If-None-Matchcanvas × 2navigator.brave · noise · liesuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightoffsetWidth − clientWidthWebGL RENDERERnavigator.gpu adapter.infoGPUAdapter limits · featuresWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemoryperformance.memorymaxTouchPoints · pointernavigator.getBatterygeolocation (on request)devicemotion (on request)navigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedRTCRtpSender.getCapabilitiesMediaRecorder.isTypeSupportedmediaCapabilities.decodingInforequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsfont-size: medium · AccentColordisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.queryusb · serial · hid · IdleDetector …pdfViewerEnablednavigator.webdriverWorker · navigatorbait element7 tracker scripts (on request)window.ethereum · DOM markschrome-extension:// fileshistory.lengthlocalStorage · IndexedDB · Cache · window.namecanvas measureText是電腦和電腦之間的細微差異:顯示卡和驅動程式畫 Canvas、WebGL 的結果,處理聲音時的捨入誤差,裝了哪些字型,再加上螢幕、語言和時區。單看每一項都很普通,合在一起往往就獨一無二。網站把它們算成一串固定的編碼,也就是指紋 ID;執行同一段腳本的網站,算出來的你都是同一個 ID。
不會。這些都和 IP 無關,無痕視窗畫圖、播放聲音的方式也和平常一樣。所以清了 Cookie、換了 VPN 伺服器,指紋照樣跟著你。頁面上的指紋卡會記住你上次造訪(只記在你的瀏覽器裡),下次再來就能看到它還認不認得你。
改用會對抗指紋的瀏覽器:Brave 預設會替 Canvas、WebGL 和音訊加入隨機干擾;Firefox 可以開啟 privacy.resistFingerprinting;Tor 瀏覽器讓所有使用者看起來一模一樣。改 UA、封鎖 Canvas 的擴充功能反而常讓你更好認。「防指紋」那一列會告訴你,你的瀏覽器有沒有打亂指紋。
可以,大致看得出。頁面會匿名統計你的每一項值,以及整個指紋 ID(只取前 8 碼)在本站檢測裡出現過幾次,再告訴你所有檢測裡有多少次和你一樣。不存 IP,也不存完整指紋。測的人夠多,這些數字才有意義;在那之前,頁面會提示資料還在累積。