Czym jest odcisk palca fontów i jak strony rozpoznają środowisko przeglądarki po liście fontów
Zmieniasz środowisko, zmieniasz proxy, a układ strony wciąż wygląda odrobinę inaczej: na tej samej stronie tekst przycisku jest na jednym środowisku o dwa piksele szerszy niż na innym. Jedno ze źródeł tych różnic to fonty: wystarczy prosty test, by strona dowiedziała się w przybliżeniu, jakie fonty ma zainstalowana maszyna, i tak lista fontów stała się jedną z kategorii parametrów odcisku palca przeglądarki. W tym artykule omawiamy trzy rzeczy: jak strony testują fonty, na ile można ufać wynikowi i kiedy sprawdza się każdy z trzech poziomów listy fontów (rzeczywista, losowa, własna). Co do miejsca fontów w całym odcisku palca: ustawienia fingerprint w MostMate traktują je jako parametr podstawowy, a pełny obraz produktu znajdziesz w Czym jest MostMate.
Czym jest odcisk palca fontów: strona zgaduje, jakie fonty masz zainstalowane
Odcisk palca fontów nie polega na tym, że strona pakuje twoje pliki fontów i wysyła je gdzieś; strona uruchamia jedynie zestaw testów, żeby ustalić, czy dana maszyna potrafi wyświetlić konkretny font. System operacyjny ma zestaw fontów fabrycznych, a użytkownicy i programy dokładają kolejne: instalacja Office dochodzi całą paczkę, a chińskie Windowsy mają w standardzie SimSun i Microsoft YaHei. Dwie maszyny rzadko mają identyczny zestaw, i właśnie ta różnica jest informacją. Już w badaniu śledzącym EFF z 2010 roku fonty figurowały wśród parametrów umożliwiających identyfikację, a takie testy do dziś obecne są na dużych serwisach.
Od innych parametrów odróżnia ją tempo zmian: Canvas i WebGL zależą od sprzętu i silnika renderującego i zwykle nie zmieniają się miesiącami; lista fontów idzie za instalacjami oprogramowania: nowy program biurowy czy usunięty plik fontu wystarczą, by ją zmienić. Parametr, który zmienia się szybko, równie szybko się zdradza: jedna instalacja potrafi wyprowadzić listę poza pierwotny kształt.
Jak strony testują fonty: trzy metody, a wszystkie sprawdzają to samo, czyli obecność
Strona nie może bezpośrednio odczytać systemowej listy fontów, pozostaje jej wnioskowanie pośrednie. Najczęstsze metody to trzy:
- Pomiar różnicy szerokości. Na stronie umieszcza się stały fragment tekstu i mierzy go najpierw fontem zastępczym (np. monospace), a potem fontem docelowym. Identyczna szerokość oznacza, że fontu nie ma; różna, że jest. Skrypt detekcji przechodzi przez setki popularnych nazw fontów i składa listę „jest / nie ma”.
- Porównanie renderowania w Canvas. Ten sam tekst rysuje się w Canvas różnymi fontami i porównuje różnice pikseli, przy okazji wychwytując też odmienności silnika renderującego.
- Font Loading API. Nowoczesne przeglądarki udostępniają interfejsy typu document.fonts.check('12px "Segoe UI"'), które od razu mówią, czy dany font jest dostępny, co wygodniejsze niż mierzenie szerokości.

Wszystkie trzy metody odpowiadają na to samo pytanie: czy nazwa fontu działa na tej maszynie? Do samego pliku fontu żadna nie sięga; w praktyce często się je łączy: pomiar szerokości jako główna technika, Canvas jako weryfikacja krzyżowa. Szczegóły interfejsów opisuje dokumentacja Document.fonts na MDN, a pełną listę testowanych fontów wraz z logiką decyzyjną zobaczysz w kodzie detekcji fontów projektu FingerprintJS.
Wynik jest z natury niekompletny: nie dostajesz pełnej listy
Najpierw sprostujmy częste nieporozumienie. Strona nie wykrywa wszystkich zainstalowanych fontów, lecz tylko te, które sama ma na liście: wynik to w istocie część wspólna listy popularnych fontów i twojej maszyny.
Są tego dwie konsekwencje. Po pierwsze: dwie maszyny o różnych zestawach fontów mogą uzyskać ten sam wynik: na maszynie 1 są fonty K i L, na 2 fonty K i M, a serwis detekcyjny testuje tylko K i N; obie dostają raport „K jest, N nie ma” i ten sam hash. Identyczny odcisk palca fontów nie dowodzi, że to to samo urządzenie; świadczy jedynie o zgodności w obrębie testowanej listy.
Po drugie: wszystko poza listą pozostaje całkowicie niewidzialne. Jeśli lista testów obejmuje 150 popularnych fontów, stacja projektowa z 300 fontami i świeżo postawiony system pokażą to samo; pozostałych 150 fontów nie zobaczy nikt.
W zarządzaniu wieloma kontami niekompletny wynik działa w dwie strony: same fonty nie określają tożsamości, ale systemy ryzyka krzyżują listę z innymi sygnałami, a każda niezgodność z systemem operacyjnym czy ustawieniami języka staje się rażącą anomalią. Liczbę fontów i hash pokazywane przez narzędzia detekcyjne czytaj według reguły „stabilne w obrębie środowiska, różne między środowiskami”, i nie ma sensu gonić za konkretną wartością.
Co kształtuje twoją listę fontów
Zestaw fontów składa się z czterech warstw, a każda z nich potrafi rozdzielić dwie maszyny, które na pierwszy rzut oka „wyglądają tak samo”:
- System operacyjny i wersja. Windows, macOS i Linux mają różne zestawy fabryczne; różnią się też Windows 10 i 11. To podstawa, dzięki której lista fontów może potwierdzać platformę deklarowaną w User-Agent.
- Język i region systemu. Chińskie Windowsy mają w standardzie SimSun i Microsoft YaHei, których większość maszyn w Europie i Ameryce nie posiada; podobnie systemy japońskie i koreańskie. Lista fontów często pierwsza zdradza prawdziwe pochodzenie środowiska.
- Programy z własnymi fontami. Office, Adobe i WPS wciskają w system swoje fonty; maszyna grafika i taka, na której działa tylko przeglądarka, mają zestawy różniące się jak dzień i noc.
- Reguły zastępowania w silniku przeglądarki. Dla tej samej nazwy fontu Chromium i Firefox wybierają inne zamienniki i mierzą inne szerokości; zmiana wersji jądra środowiska może zmienić szczegóły wyniku.

Suma czterech warstw wyjaśnia dobrze znane zjawisko: środowisko z dopasowanym IP, strefą czasową i językiem wciąż nosi na liście fontów ślady „starego domu”: deklaruje amerykańskie środowisko po angielsku, a Microsoft YaHei spokojnie tam wisi. Przy weryfikacji krzyżowej takie rozjazdy mówią więcej niż anomalia pojedynczego parametru.
Jak ocenić spójność: trzy kryteria i test w trzech krokach
W zarządzaniu środowiskami parametr fontów musi przejść przez trzy kryteria:
- Stabilność w obrębie środowiska. Powtarzane testy tego samego środowiska muszą zwracać tę samą liczbę fontów i ten sam hash; w trakcie korzystania nie instaluj oprogramowania i nie usuwaj fontów.
- Różnorodność między środowiskami. Środowiska deklarujące różne regiony powinny mieć widocznie odmienne listy fontów; identyczny hash dla środowisk „amerykańskiego” i „niemieckiego” to podejrzany sygnał.
- Zgodność z deklarowanymi informacjami. Font występujący tylko na macOS w środowisku Windows albo cały rząd chińskich fontów w środowisku angielskim rzuca się w oczy. Ryzyka losowania parametrów omawia osobno artykuł Dlaczego randomizacja fingerprintu jest niebezpieczna, a fonty są tej logiki najbardziej klasycznym przykładem: losowo sklecona kombinacja fontów w realnym świecie praktycznie nie występuje.
Test w trzech krokach: otwórz stronę wyników na BrowserScan lub Iphey, znajdź pozycję dotyczącą fontów (Fonts) i zapisz wartość; odśwież dwa-trzy razy w tym samym środowisku, żeby potwierdzić stabilność; uruchom to samo sprawdzenie na drugim środowisku i porównaj, czy różnice pasują do profilu każdego z nich.

Jak wybrać jeden z trzech poziomów listy fontów w MostMate
W ustawieniach fingerprint MostMate lista fontów ma trzy poziomy (rzeczywista, losowa i własna) odpowiadające trzem trybom pracy:
- Rzeczywista: środowisko korzysta z bieżącej listy fontów maszyny hosta, a wynik pokrywa się z tym po ręcznym otwarciu przeglądarki. Sprawdza się, gdy host ma czystą konfigurację, a profil zgadza się z regionem systemu, na przykład angielski Windows i środowiska amerykańskie.
- Losowa: środowisko generuje zestaw fontów, pod warunkiem że algorytm losuje w ramach systemu operacyjnego i języka, dzięki czemu zbiór pozostaje wiarygodny dla profilu. Sprawdza się przy masowym tworzeniu środowisk, bez sprawdzania każdego szczegółu.
- Własna: zaznaczasz fonty na liście ręcznie; polecana dla środowisk, których docelowe platformy mają surowe systemy ryzyka albo których profil mocno odbiega od maszyny hosta: uzupełnij zestaw fontów systemu zgodny z profilem i zweryfikuj pozycja po pozycji według trzech kryteriów z poprzedniej sekcji.
Wszystkie trzy poziomy znajdziesz w sekcji ustawień fingerprint formularza tworzenia środowiska; po konfiguracji potwierdź bieżącą wartość w polu listy fontów panelu podglądu, a następnie powtórz test na stronie detekcyjnej. Pełny proces konfiguracji opisuje artykuł Jak zacząć z MostMate.
Podsumowanie
Istota odcisku palca fontów polega na tym, że strona wnioskuje o zestawie fontów maszyny na podstawie ograniczonej listy testów: pełnej listy nie zobaczy, ale to, co widzi, wystarczy, by przy weryfikacji krzyżowej wychwycić rozjazdy. W zarządzaniu trzymaj się trzech rzeczy: stabilności w obrębie środowiska, rozróżnienia między środowiskami i zgodności listy z deklarowanym systemem i regionem. Jeśli chcesz od zera postawić komplet środowisk, zacznij od pobrania MostMate; logikę spójności poszczególnych parametrów w większości znajdziesz w artykule Cztery zasady projektowe MostMate.
FAQ
Czy odcisk palca fontów może samodzielnie zidentyfikować urządzenie?
Nie. Wynik ogranicza lista testów, a maszyny o różnych fontach mogą uzyskać ten sam rezultat. Systemy ryzyka zwykle krzyżują fonty z User-Agent, Canvas, językiem i innymi parametrami; same fonty nie stanowią podstawy identyfikacji.
Czy odcisk palca fontów jest taki sam w różnych przeglądarkach?
Przy identycznym zestawie fontów ogólny obraz się zgadza, ale każdy silnik ma własne reguły zastępowania i szczegóły renderowania, więc szerokości wychodzą różnie. Na tej samej maszynie wyniki Chrome i Firefox często różnią się w detalach; to kwestia silnika.
Czy im więcej fontów zainstalujesz, tym łatwiej cię zidentyfikować?
Dodatkowe fonty stają się widoczne dopiero, gdy trafią na listę testów. Sama liczba ma ograniczone znaczenie; wyjątkiem są fonty rzadkie: niszowy font projektowy, wykryty raz, sprawia, że lista wygląda na statystycznie nietypową.
Czy wyczyszczenie cookies usuwa odcisk palca fontów?
Nie. Lista fontów wynika z tego, co zainstalowano na maszynie, i nie należy do danych przechowywanych przez serwis; czyszczenie cookies i cache nie ma na nią wpływu. Żeby ją zmienić, trzeba zmienić konfigurację fontów na poziomie środowiska.
MOSTMATE
Bezpieczne zarządzanie wieloma kontami, bez komplikacji
Zacznij od pierwszego konta i z MostMate buduj bezpieczniejsze, inteligentniejsze i wydajniejsze operacje obejmujące wiele kont.
- Niezależne profile. Spójne tożsamości.
- Automatyzacja AI · Kondycja kont · Praca zespołowa



