← Înapoi la blog

Ce este amprenta fontelor și cum identifică site-urile mediul browserului după lista de fonturi

Schimbi mediul, schimbi proxy-ul, iar pagina arată tot ușor diferit: pe același site, textul unui buton e cu doi pixeli mai lat pe un mediu decât pe altul. Una dintre sursele acestei diferențe o reprezintă fonturile: ce fonturi are instalate fiecare calculator se poate afla cu o simplă verificare, iar lista de fonturi a devenit astfel o categorie de parametri ai amprentei browserului. Articolul de față acoperă trei subiecte: cum testează site-urile fonturile, cât de multă încredere merită rezultatul și pentru ce situații se potrivește fiecare dintre cele trei niveluri ale listei de fonturi (reală, aleatorie, personalizată). Iar despre locul fonturilor în amprenta luată ca întreg: setările de amprentă din MostMate le tratează drept parametru de bază, iar imaginea completă a produsului o găsești în Ce este MostMate.

Ce este amprenta fontelor: site-ul încearcă să afle ce fonturi ai instalate

Amprenta fontelor nu înseamnă că site-ul îți împachetează fișierele de fonturi și le trimite undeva; site-ul doar rulează o serie de teste ca să afle dacă calculatorul tău poate afișa un anumit font. Sistemul de operare vine din fabrică cu un set de fonturi, la care utilizatorii și programele adaugă: instalarea Office aduce un lot întreg, iar Windows-ul în chineză include din start SimSun și Microsoft YaHei. Rareori două calculatoare au seturi identice, iar această diferență este informație. Deja în 2010, studiul de tracking al EFF includea fonturile printre parametrii identificabili, iar astfel de verificări există și azi pe site-uri mari.

Ce o deosebește de restul parametrilor este ritmul de schimbare: Canvas și WebGL depind de hardware și de motorul de randare și rămân de regulă neschimbate luni întregi; lista de fonturi urmează instalările de programe: un program de birou în plus sau un fișier de font șters o modifică. Un parametru care se schimbă repede te trădează la fel de repede: o singură instalare este suficientă ca lista să iasă din forma inițială.

Cum testează site-urile fonturile: trei metode, toate pentru „există sau nu”

Site-ul nu poate citi direct lista de fonturi a sistemului și nu rămâne decât să deducă indirect. Metodele uzuale sunt trei:

  1. Măsurarea diferenței de lățime. Pagina conține un text fix, măsurat întâi cu un font de rezervă (de exemplu monospace), apoi cu fontul țintă. Lățimi identice înseamnă că fontul lipsește; lățimi diferite înseamnă că există. Scriptul de detectare trece prin sute de nume de fonturi comune și alcătuiește o listă de „prezent / absent”.
  2. Comparație de randare pe Canvas. Același text este desenat în Canvas cu fonturi diferite, iar diferențele de pixeli sunt comparate; din acest pas ies la iveală și particularitățile motorului de randare.
  3. Font Loading API. Browserele moderne pun la dispoziție interfețe precum document.fonts.check('12px "Segoe UI"'), care spun direct dacă un font este disponibil, mult mai comod decât măsurarea lățimilor.
Trei metode de detectare a amprentei de fonturi în browser

Toate trei verifică același lucru, adică dacă numele fontului funcționează pe calculatorul respectiv, și niciunul nu ajunge la fișierul fontului în sine; în practică se combină de obicei, cu măsurarea lățimii ca metodă principală și Canvas drept verificare încrucișată. Detaliile interfețelor se găsesc în documentația Document.fonts de pe MDN, iar lista completă de fonturi testate, împreună cu logica de decizie, poate fi consultată în codul sursă de detectare a fonturilor din FingerprintJS.

Rezultatul e incomplet din naștere: primești o listă parțială, nu pe cea întreagă

Să clarificăm mai întâi o interpretare greșită frecventă. Site-ul nu poate detecta toate fonturile instalate, ci doar cele aflate pe propria listă; rezultatul este, de fapt, intersecția dintre lista de fonturi comune și calculatorul tău.

Sunt două consecințe. Prima: calculatoare cu seturi diferite de fonturi pot obține același rezultat: pe calculatorul 1 există fonturile M și N, pe 2 există M și P, iar serviciul de detectare testează doar M și Q; ambele primesc raportul „M da, Q nu” și hash-ul coincide. O amprentă de fonturi identică nu dovedește că dispozitivele sunt aceleași; demonstrează doar că, în limita listei testate, comportamentul a fost același.

A doua: tot ce stă în afara listei rămâne complet invizibil. Dacă lista de verificare acoperă 150 de fonturi uzuale, un post de design cu 300 de fonturi instalate și un sistem proaspăt instalat vor arăta la fel, pentru că celelalte 150 de fonturi nu sunt văzute de nimeni.

Pentru gestiunea mai multor conturi, rezultatul incomplet are efect în ambele direcții: fonturile singure nu stabilesc o identitate, însă sistemul de risc le încrucișează cu celelalte semnale, iar orice neconcordanță cu sistemul de operare sau cu limba devine o anomalie vizibilă. Numărul de fonturi și hash-ul afișate de instrumentele de detectare se citesc după regula „stabil în cadrul aceluiași mediu, diferit între medii”; nu are rost să urmărești o valoare anume.

Ce factori modelează lista ta de fonturi

Setul de fonturi se formează prin suprapunerea a patru straturi, iar fiecare dintre ele poate diferenția două calculatoare care „par la fel” la prima vedere:

  • Sistemul de operare și versiunea. Windows, macOS și Linux vin cu seturi din fabrică diferite; nici Windows 10 și 11 nu se potrivesc perfect. De aici pleacă posibilitatea ca lista de fonturi să confirme platforma declarată în User-Agent.
  • Limba și regiunea sistemului. Windows-ul în chineză include din start SimSun și Microsoft YaHei, absente de pe majoritatea calculatoarelor din Europa și America; la fel în cazul sistemelor japoneze și coreene. Lista de fonturi dezvăluie adesea regiunea reală a mediului înaintea oricărui alt semnal.
  • Programele cu fonturi proprii. Office, Adobe și WPS își instalează fonturile în sistem; diferența dintre calculatorul unui designer și unul folosit doar pentru navigare este considerabilă.
  • Regulile de rezervă ale motorului browserului. Pentru același nume de font, Chromium și Firefox aleg rezerve diferite și obțin lățimi diferite; o schimbare de versiune a nucleului mediului poate modifica detaliile rezultatului.
Patru factori care modelează lista de fonturi a browserului

Suprapunerea celor patru straturi explică un fenomen des întâlnit: mediul cu IP, fus orar și limbă toate corect configurate poartă încă urme de „acasă” în lista de fonturi: se declară mediu american în limba engleză, dar Microsoft YaHei stă liniștit printre fonturi. La încrucișarea semnalelor, asemenea neconcordanțe spun mai mult decât anomalia unui singur parametru.

Cum se apreciază consistența: trei criterii și un test în trei pași

În managementul mediilor, parametrul fonturilor trebuie să treacă prin trei criterii:

  1. Stabil în cadrul mediului. Verificat repetat, același mediu trebuie să returneze același număr de fonturi și același hash. Pe durata folosirii, nu instala programe și nu șterge fonturi din mers.
  2. Diferit între medii. Mediile care pretind că provin din regiuni diferite trebuie să prezinte diferențe vizibile în lista de fonturi; hash-uri identice pentru mediul „american” și cel „german” sunt un semnal suspicios.
  3. Corespunzător informațiilor declarate. Un font exclusiv macOS într-un mediu Windows sau un rând întreg de fonturi chinezești într-un mediu în engleză ies imediat în evidență. Riscurile aleatorizării parametrilor sunt analizate separat în articolul De ce randomizarea amprentei este periculoasă, iar fonturile sunt cel mai grăitor exemplu al acestei logici: o combinație de fonturi asamblată la întâmplare nu există aproape niciodată în realitate.

Testul în trei pași: deschide pagina de rezultate pe BrowserScan sau Iphey, găsește poziția de fonturi (Fonts) și notează valoarea; reîmprospătează de două-trei ori în același mediu ca să confirmi stabilitatea; rulează aceeași verificare pe un al doilea mediu și compară dacă diferențele se potrivesc cu profilul fiecăruia.

Fonturile din pagina de rezultate BrowserScan

Cum alegi dintre cele trei niveluri ale listei de fonturi MostMate

În setările de amprentă din MostMate, lista de fonturi vine în trei niveluri (reală, aleatorie și personalizată), corespunzătoare a trei moduri de lucru:

  • Reală: mediul folosește lista de fonturi actuală a mașinii gazdă, iar rezultatul este identic cu cel al deschiderii manuale a browserului. Se potrivește gazdelor cu o configurație curată și profilurilor aliniate cu regiunea sistemului, de exemplu un Windows în engleză pentru medii americane.
  • Aleatorie: mediul generează o combinație de fonturi, cu condiția ca algoritmul să tragă din gama de sistem de operare și limbă, astfel încât setul să rămână plauzibil pentru profil. Se potrivește creării de medii în volum, când nu se verifică fiecare detaliu de font.
  • Personalizată: bifezi manual lista de fonturi, recomandată mediilor cu platforme țintă cu risc strict sau cu profil mult îndepărtat de mașina gazdă; completează setul de fonturi al sistemului potrivit profilului și verifică poziție cu poziție după cele trei criterii din secțiunea anterioară.

Intrarea pentru toate trei nivelurile se află în zona de setări de amprentă din formularul de creare a mediului; după configurare, confirmă valoarea curentă în câmpul „listă de fonturi” din panoul de previzualizare, apoi rulează o nouă verificare pe site-ul de detectare. Fluxul complet de configurare este prezentat în Cum să începi cu MostMate.

Concluzie

În esență, amprenta fontelor înseamnă că site-ul deduce, printr-o listă limitată de teste, setul de fonturi al calculatorului: lista completă rămâne inaccesibilă, dar atât cât se vede este suficient pentru a scoate la iveală neconcordanțele la încrucișare. Din punct de vedere al gestionării, contează trei lucruri: stabilitate în cadrul mediului, diferențe între medii și corespondența listei cu sistemul și regiunea declarate. Ca să pornești de la zero un set de medii, poți începe prin a descărca MostMate; logica de consistență a fiecărui parametru se explică, în mare parte, în articolul Cele patru principii de design ale MostMate.

FAQ

Poate amprenta fontelor să identifice singură un dispozitiv?

Nu. Rezultatul este limitat de lista de teste, iar calculatoare cu fonturi diferite pot obține același rezultat. Sistemele de risc încrucișează de regulă fonturile cu User-Agent, Canvas, limba și alți parametri; fonturile singure nu constituie o bază de identificare.

Amprenta fontelor este aceeași în browsere diferite?

Cu același set de fonturi, situația generală coincide, dar regulile de rezervă și detaliile de randare diferă de la motor la motor, deci valorile lățimilor variază. Pe același calculator, rezultatele Chrome și Firefox diferă adesea în detalii; este o diferență de motor.

Cu cât instalezi mai multe fonturi, cu atât ești mai ușor identificat?

Fonturile suplimentare devin vizibile doar dacă cad pe lista de testare. Numărul în sine contează puțin; excepția o reprezintă fonturile rare: un font de design de nișă, odată detectat, face lista să pară statistic neobișnuită.

Ștergerea cookie-urilor elimină amprenta de fonturi?

Nu. Lista de fonturi vine din instalările de pe calculator și nu face parte din datele stocate de site; ștergerea cookie-urilor și a cache-ului nu o influențează. Ca să o schimbi, trebuie modificată configurația de fonturi la nivel de mediu.

MOSTMATE

Gestionare sigură a mai multor conturi, fără complicații

Începe cu primul cont și folosește MostMate pentru operațiuni mai sigure, inteligente și eficiente cu mai multe conturi.

  • Profiluri independente. Identități coerente.
  • Automatizare AI · Starea conturilor · Operațiuni în echipă
Descarcă MostMate