Contactați asistența

Răspundem prin e-mail, de obicei în două zile.

Google reCAPTCHA verifică această trimitere împotriva abuzurilor; date sunt trimise către Google. Scriptul se încarcă doar când acest formular este deschis.

← Toate articolele

Am încetat să colectăm dimensiunile ecranului

Acest serviciu înregistra odinioară rezoluția ecranului. Scriptul din browser citea window.screen și trimitea valoarea ca res=1920x1080, iar pagina de statistici avea un panou pentru ea.

Nu mai face asta. Tabelul care o conținea are astăzi zero rânduri, iar panoul își afișează starea goală. Linia din script unde avea loc citirea este acum un comentariu care spune ce se afla acolo.

De ce a dispărut

Rezoluția ecranului este un semnal bun pentru fingerprinting — nu de una singură, ci combinată cu celelalte lucruri pe care le transportă o cerere. Acest serviciu încearcă să rețină cât mai puțin despre un vizitator, iar un număr care îi descrie hardware-ul nu își justifica existența. Nimeni nu făcuse vreodată ceva cu acel panou.

Aceasta este jumătatea ușoară a deciziei. Jumătatea grea a fost ca ea să devină adevărată.

Dezactivarea în browser nu a fost suficientă

Eliminarea liniei din script oprește trimiterea din copiile noi ale scriptului. Nu schimbă nimic la copiile deja existente, iar acestea sunt de două feluri:

  • Browserele păstrează scriptul timp de șapte zile. Timp de o săptămână după orice modificare, o parte dintre vizitatori rulează versiunea anterioară.
  • Unele pagini ale clienților nu încarcă deloc scriptul de aici — încorporează o copie luată acum ani, lipită într-un șablon și neatinsă de atunci.
cache-ul browserului7o copie lipită acum anifără expirareserverul nu îl mai acceptăse oprește acumzile până când scriptul vechi încetează să trimită

Al doilea fel nu are dată de expirare. Acele pagini ar fi continuat să trimită res= la nesfârșit, serverul ar fi continuat să îl înregistreze, iar modificarea ar fi părut completă, deși ar fi fost falsă tocmai pentru vizitatorii la care nu se uita nimeni.

Așa că și serverul a încetat să îl accepte. Parametrul sosește, este ignorat, nu se scrie nimic. Aceasta este jumătatea modificării care chiar rezistă.

Tiparul greșelii pe care o evită asta

„Am eliminat colectarea” este o afirmație despre cod. „Nu mai deținem aceste date” este o afirmație despre date. Sunt afirmații diferite, iar pe web prima nu o implică pe a doua, pentru că codul client rulează pe mașini aflate în afara controlului oricui, în versiuni pe care nu le-a ales nimeni, atâta timp cât cache-ul sau copy-paste-ul cuiva îl ține în viață.

Orice este dezactivat pe client trebuie dezactivat și pe server. Modificarea de pe client este cea care oprește trimiterea. Modificarea de pe server este cea care face afirmația adevărată.

Rândurile vechi sunt încă acolo, tot mai puține, șterse în loturi de un mic instrument scris exact pentru asta. Când termină, panoul va fi în continuare gol, iar asta va fi în sfârșit întreaga poveste, nu doar cea mai mare parte a ei.

Publicitate