Schimbarea serverului VPN te delogează din magazin?
O adresă de ieșire nouă nu golește borcanul de cookie-uri. Decide mai întâi dacă testezi calea de rețea, sesiunea autentificată sau datele site-ului stocate.
Schimbă ieșirea VPN în timp ce un magazin este deschis într-un alt tab, iar coșul este de obicei încă acolo. Nu este o defecțiune VPN; este browserul făcând exact ce i s-a spus. Un cookie este trimis de browser, iar o cale de rețea nouă nu schimbă ceea ce stochează browserul. Trei întrebări diferite se ascund în spatele expresiei „site-ul mă mai cunoaște”, iar răspunsul depinde de care dintre ele o pui de fapt.
Trei întrebări, un simptom
Prima: site-ul recunoaște un cookie stocat? A doua: recunoaște un cont autentificat, care persistă independent de orice cookie individual? A treia: recunoaște ceva despre browser sau dispozitiv, și nu despre starea stocată? Fiecare are propriul test și propriul remediu.
| What you changed | What it actually tests |
|---|---|
| VPN exit address | Whether the site treats a different network origin differently |
| Cookie jar for one site | Whether a stored identifier was doing the recognition |
| Browser profile or account | Whether identity, rather than storage, links the visits |
Cea mai mare parte a confuziei vine din schimbarea primei și așteptarea ca a doua să urmeze. O adresă de rețea și un depozit al browserului sunt două sisteme separate care se întâmplă să fie folosite de aceeași pagină.
Ce transportă de fapt un cookie
Gestionarea stării HTTP, specificată în RFC 6265, este în mod deliberat simplă: serverul setează un nume și o valoare cu un domeniu de aplicare, iar browserul le returnează pentru cererile care corespund acelui domeniu. Valoarea poate fi un identificator de sesiune, o preferință sau un token opac pe care serverul îl asociază unei înregistrări din coș. Nimic din mecanism nu menționează adresa clientului.
Acest design este motivul pentru care autentificările obișnuite și coșurile supraviețuiesc unei schimbări de rețea și tot el este motivul pentru care supraviețuiesc și în cazul trackerelor. Același mecanism servește ambele scopuri și nu face distincție între ele. Nu există niciun câmp în protocol pentru adresa clientului, deci nu există nimic pe care o ieșire nouă să-l invalideze. Un site care ar vrea să lege un cookie de o origine de rețea ar trebui să adauge singur acea logică.
Când un site returnează un cookie, serverul caută înregistrarea către care indică acea valoare. Schimbarea rutei pe care a mers cererea nu schimbă acea căutare, și aceasta este întreaga explicație pentru observația coșului de cumpărături.
Decide ce măsoară testul tău
Înainte de a schimba ceva, notează starea de la care pornești: ce profil de browser, ce cont, ce date ale site-ului, ce cale de rețea. Apoi schimbă exact una dintre ele și observă. Un test care schimbă simultan adresa de ieșire și profilul browserului nu dovedește nimic despre niciuna.
curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' https://shop.example/cart
curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' --interface 198.51.100.44 https://shop.example/cartAmbele comenzi refolosesc același fișier de cookie-uri, iar a doua impune o altă adresă locală de sursă acolo unde gazda permite. Răspunsul coșului este același în ambele cazuri pentru că serverul nu a văzut niciodată o identitate de client diferită, doar o cale diferită. Acesta este mecanismul într-o pereche reproductibilă de cereri.
Dacă scopul este să vezi dacă site-ul te recunoaște fără stare stocată, șterge datele acelui site și repetă. Dacă tot te recunoaște, următorii suspecți sunt contul autentificat, un link pe care l-ai urmat sau caracteristicile browserului, nu un cookie.
Șterge starea potrivită, nu rețeaua
Eliminarea stocării unui site ține de controalele proprii ale browserului și, adesea, te delogează sau resetează preferințele ca efect secundar. Nu șterge contul sau înregistrările pe care serviciul le deține deja; acelea au nevoie de procesul propriu al serviciului.
Restricțiile între site-uri abordează o altă parte a problemei. Browserele pot bloca sau partiționa stocarea pe care serviciile încorporate altfel ar partaja-o între site-uri, în timp ce o autentificare first-party continuă să funcționeze. O autentificare reușită nu este, așadar, dovada că urmărirea între site-uri funcționează.
Ferestrele private sunt un alt instrument cu o sferă mai îngustă decât se așteaptă oamenii. Site-urile pot seta în continuare cookie-uri în timpul sesiunii, iar autentificarea identifică în continuare contul. Încheierea sesiunii private este ceea ce aruncă starea temporară, ceea ce înseamnă să închizi fiecare fereastră privată, nu un singur tab.
În final, tratează fingerprinting-ul ca o posibilitate, nu ca prima explicație. Caracteristicile dispozitivului și ale browserului pot lega vizitele fără niciun cookie stocat, iar ștergerea stocării nu le va atinge. Verifică mai întâi cauzele simple, lărgește apoi investigația și notează ce stare ai schimbat, astfel încât comparația următoare să aibă sens.