什麼是字型指紋?
字型指紋是瀏覽器指紋的另一個重要維度。當你的裝置上安裝了特定字型,或者缺少了某些字型時,這些資訊可以被用來產生一個獨特的識別碼。
每個人的裝置上安裝的字型組合都是獨特的——尤其是對於那些安裝了大量非標準字型的使用者來說,這種獨特性更為明顯。因此,字型資訊可以成為一個相當精確的瀏覽器指紋組成部分。
字型指紋的實作原理
字型指紋主要透過瀏覽器的 JavaScript API 來實作。其核心原理是:瀏覽器可以取得並回報使用者裝置上可用的字型清單,這些字型資訊結合其他瀏覽器和裝置特徵,共同形成一個獨特的指紋。
常見的字型指紋採集方法有以下三種:
方法一:字型列舉(Font Enumeration)
這是最直接的方法。網站透過瀏覽器提供的 API 直接取得一份完整的已安裝字型清單,就像查看裝置上安裝了哪些應用程式一樣簡單。
方法二:字型偵測(Font Detection)
這是一種更隱蔽的方法。網站讓瀏覽器用特定字型渲染一段文字,然後測量這段文字的尺寸。如果該字型已經安裝,文字的顯示尺寸會與預設字型有所不同——網站透過這種“試錯”的方式,逐一判斷某個字型是否存在於你的裝置上。
方法三:畫布指紋(Canvas Fingerprinting)中的字型偵測
這是一種更複雜的方法。網站在一個不可見的虛擬畫布上繪製一段文字,然後分析這段文字的像素排列方式。不同字型會導致像素排列的差異,網站透過比對這些像素模式來判斷你的裝置上是否安裝了特定字型。
