← Înapoi la blog

Ce este amprenta digitală ClientRects? Ghid de verificare a consistenței mediilor pentru conturi multiple

Concluzia esențială: ClientRects citit pe paginile de testare privește casetele de layout ale elementelor din pagină, un set de lățimi, înălțimi și coordonate cu zecimale. Când două medii nu se potrivesc, cauza ține de obicei de randarea fonturilor, de scalarea ecranului sau de diferențele dintre sisteme. Citirea face parte din consistența mediului, nu poate fi dezactivată separat, iar tratamentul constă în alegerea modului din setările de fingerprint plus testarea practică.

„La autoverificarea consistenței, ajunși la nivelul amprentei digitale, valorile ClientRects diferă între cele două medii." Sau invers: pe pagina de testare, rubrica respectivă apare marcată în galben și nu știi dacă contează ca problemă. Punctul comun al acestor întrebări: numele parametrului ți-e familiar, dar nu ai claritate asupra a ceea ce măsoară și a ceea ce se schimbă dacă îl modifici.

Acest articol răspunde, în ordinea depanării, la patru întrebări: ce reprezintă această valoare, de ce două medii nu se potrivesc, ce spune ea în cadrul consistenței mediului și cum se configurează și se verifică în browserul anti-detect MostMate. MostMate pregătește pentru fiecare cont un mediu de browser izolat, iar ClientRects este un element din setările de fingerprint.

Ce este, de fapt, amprenta digitală ClientRects

Pe scurt: amprenta digitală ClientRects citește coordonatele exacte ale casetelor elementelor din pagină. Un apel getBoundingClientRect() returnează lățimea, înălțimea și poziția elementului față de viewport, iar documentația MDN îl definește drept „dimensiunea elementului și poziția sa relativă la viewport"; elementele inline trecute pe mai multe rânduri se citesc cu getClientRects(), câte un dreptunghi pentru fiecare rând.

Esentială este forma valorilor. Coordonatele nu sunt numere întregi, ci numere în virgulă mobilă cu multe zecimale, de exemplu 147.359375. Un site nu are nevoie de nicio permisiune: un script creează în pagină un element ascuns, îi scrie un text fix, citește înapoi dreptunghiurile și reconstruiește o semnătură, totul amestecat în calculele obișnuite de layout.

Operatorii au trei motive să îi acorde atenție. Nu poate fi dezactivat, pentru că calculul de layout stă la baza funcționării normale a paginilor web; este stabil între sesiuni, valorile rămân practic neschimbate pe același dispozitiv; și, la fel ca fonturile sau parametrii ecranului, face parte din declarația mediului, pe care sistemele de risc o folosesc pentru verificări încrucișate.

Ilustrație pentru amprenta digitală ClientRects

De ce valorile celor două medii nu se potrivesc

Fiecare strat al lanțului de tipografie lasă urme în lățimea textului:

  • Motorul de tipografie: Windows, macOS și Linux au câte unul propriu; pentru același font și aceeași succesiune de caractere, spațierea calculată diferă.
  • Scalarea ecranului: ecranele de înaltă rezoluție și scalarea de sistem schimbă granularitatea rotunjirii, iar zecimalele se modifică odată cu ea.
  • Rezerva de fonturi: dacă fontul cerut de pagină nu e instalat, se trece la un font alternativ, iar lățimea se schimbă.
  • Motorul browserului și zoomul paginii: nuclee diferite rupe rândurile altfel, iar zoomul paginii intră direct în fluxul de layout.

Niciuna dintre aceste diferențe nu e mare; un singur număr, privit separat, nu dovedește nimic. Împreună, ele descriu „ce sistem și ce stivă de randare rulează pe acest dispozitiv". Cu amprenta digitală a fonturilor sunt înrudite: enumerarea fonturilor întreabă direct lista, ClientRects măsoară rezultatul randării, iar cele două se pot confirma reciproc. Parametrii de dimensiune la nivel de dispozitiv și de fereastră sunt tratați în articolul despre rezoluția ecranului, iar ClientRects este un semnal la nivel de element, aflat cu un nivel mai adânc.

Ce rol are această valoare în consistența mediului

Cea mai mare valoare a sa stă în verificarea încrucișată: oferă o referință măsurată cu care să se poată compara declarația mediului. Mediul se declară Windows și afișează un set de fonturi obișnuite, dar lățimea textului măsurat poartă stilul de rotunjire al unui alt sistem. Cele două semnale intră în conflict. Sistemele de risc nu trebuie să înțeleagă principiul; le este de ajuns să observe contradicția.

Consistența configurației merită verificată mai mult decât raritatea unui parametru luat individual. Când investighezi dacă două medii riscă să fie considerate ale aceleiași persoane, valorile dreptunghiurilor ar trebui puse în comparație cu sistemul de operare și cu lista de fonturi declarate în panoul de fingerprint; logica autoverificării pe patru dimensiuni constă tocmai în alinierea declarațiilor cu măsurătorile.

Există și un alt uz, adesea trecut cu vederea: detectarea scalării. Din modul de rotunjire al dreptunghiurilor se pot deduce nivelul curent de zoom al paginii și setarea de scalare a sistemului, informații care, împreună cu parametrii de ecran declarați de dispozitiv, formează încă un set de semnale verificabile reciproc. Când comportamentul de scalare diferă puternic între medii, diferențele de valori sunt normale; confirmă mai întâi starea de scalare înainte de a trage concluzii.

Cum se configurează în MostMate

În formularul de setări fingerprint din MostMate, ClientRects ocupă o rubrică separată, chiar lângă Canvas, AudioContext, SpeechVoices și imaginea WebGL. Are doar două moduri: modul Real returnează tipografia reală a mașinii, iar modul Noise este modul de zgomot.

Modul se alege în funcție de scenariu. Poți alege Real atunci când se îndeplinesc ambele condiții: configurația acestui computer corespunde configurației dominante în rândul publicului țintă, de pildă combinația obișnuită Windows cu fonturi implicite; iar paginile de business au cerințe ridicate de precizie a tipografiei și nu admit modificarea valorilor de layout. Costul modului Real este că trăsăturile reale de randare ale mașinii rămân expuse exact așa cum sunt; dacă pe computer sunt instalate multe fonturi mai puțin cunoscute, distinctivitatea trăsăturilor crește și ea.

Când mai multe medii partajează același computer, alege Noise. Valorile mediilor nu mai indică aceeași mașină, iar acesta este principalul său scenariu de utilizare. Prețul este acceptarea unei constrângeri. Între valorile dreptunghiurilor există relații aritmetice: coordonatele cutiei întregi trebuie să se potrivească cu dreptunghiurile textului din interior, iar lățimile aceluiași șir de caractere trebuie să rămână proporționale. Dacă zgomotul cade doar pe o parte dintre valori, aceste relații se rup și, paradoxal, se naște un semnal de contradicție și mai vizibil. De aceea, după alegerea modului, testarea practică este obligatorie; configurația de la bun început nu înseamnă automat că totul e în regulă.

După trecerea pe modul Noise, rubrica ClientRects din panoul de previzualizare a amprentei digitale devine o valoare cu un cod de șase caractere. Codul este doar eticheta configurației de zgomot; hash-ul expus în realitate se vede abia după ce deschizi mediul și rulezi o dată pagina de testare.

Poziția parametrului ClientRects în setările de fingerprint din MostMate

Cum verifici după configurare

Verificarea are doi pași: întâi schimbarea valorilor, apoi coerența.

Pasul 1: compară valorile între două medii. Creează două medii, unul pe Real și unul pe Noise, și deschide pe fiecare pagina de testare Client Rects de la BrowserLeaks. Pe aceeași mașină, valorile dreptunghiurilor din mediul Real ar trebui să fie identice. Mediul Noise ar trebui să difere de Real, iar două medii Noise ar trebui să se distingă și între ele. La înregistrare, uită-te mai ales la ce urmează după a treia zecimală; diferențele pornesc de obicei de acolo. Notează valorile fiecărui mediu ca linie de bază pentru acesta.

Pasul 2: verifică coerența. Valorile schimbate sunt doar primul pas:

  • Retestează și într-o altă sesiune: valorile aceluiași mediu trebuie să fie stabile, iar citirile care sar de la una la alta sunt ele însele o anomalie.
  • Compară cu sistemul de operare și cu lista de fonturi declarate în panoul de fingerprint: stilul de randare trebuie să se potrivească, nu poate un semnal să spună Windows și altul macOS.
  • Navighează normal pe câteva pagini uzuale și confirmă că tipografia nu are erori vizibile, mai ales la formulare, butoane și textul care se rupe pe rânduri.

Trec toate trei? Atunci e configurat. Dacă nu, verifică întâi modul.

Întrebări frecvente

ClientRects apare în roșu pe pagina de testare. Înseamnă neapărat că mediul are o problemă?

Nu neapărat. Verifică mai întâi două lucruri: dacă sistemul și fonturile declarate de mediu se potrivesc cu stilul valorilor și dacă starea de scalare corespunde parametrilor ecranului. Dacă ambele sunt în regulă, o singură evidențiere în roșu nu e motiv de îngrijorare; doar când stilul valorilor intră vizibil în conflict cu declarațiile ai motive să intri în setările de fingerprint și să verifici modul.

Modificarea zoomului browserului schimbă amprenta digitală ClientRects?

Da. Zoomul intră direct în fluxul de layout, iar rotunjirea dreptunghiurilor se schimbă odată cu el. Dar zoomul este un comportament normal, prezent la toți utilizatorii. Riscul stă în altă parte: starea de scalare nu se potrivește cu parametrii de ecran declarați de mediu. Partea stabilă între sesiuni rămâne determinată de stiva de randare.

Se poate dezactiva ClientRects?

Nu. Calculul de layout stă la baza funcționării normale a paginilor web: tipografia, poziționarea ferestrelor pop-up și animațiile depind de el. Browserul nu oferă niciun comutator de dezactivare. Practica din industrie este reducerea preciziei, nu dezactivarea; Tor Browser rotunjește valorile măsurate tocmai pentru a reduce diferențele identificabile.

De ce browserele headless se trădează ușor prin dimensiunile elementelor?

Într-un mediu headless, viewport-ul implicit este foarte previzibil, iar stiva de randare a textului e uniformă. Dreptunghiurile măsurate nu se potrivesc adesea cu dispozitivul pretins de UA-ul declarat. Sistemele de risc verifică încrucișat rect alături de celelalte parametri declarați, astfel de medii fiind ușor de depistat.

Concluzie

Rolul ClientRects în verificarea consistenței este foarte concret: pui declarația mediului alături de tipografia măsurată, iar contradicția este un semnal. Când pagina de testare arată roșu, compară mai întâi parametrii declarați și starea de scalare, confirmă că este o fisură de consistență și abia apoi treci la setările de fingerprint.

MostMate plasează ClientRects, împreună cu celelalte parametri de randare, în același formular de setări fingerprint, iar modurile Real și Noise controlează sursa valorilor; imaginea completă a funcțiilor produsului o poți parcurge pe site-ul oficial MostMate. După ce ai creat mediile, notează linia de bază a valorilor comparând două medii; ajută mai mult decât orice truc de configurare. Poți și descărca MostMate, să creezi două medii și să măsuri chiar tu diferența dintre Real și Noise.

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