Változtasd meg a VPN-kilépést, miközben egy webshop nyitva van egy másik lapon, és a kosár általában még ott van. Ez nem VPN-hiba; ez a böngésző, amely pontosan azt teszi, amit mondtak neki. A sütit a böngésző küldi, és egy új hálózati útvonal nem változtat azon, amit a böngésző tárol. Három különböző kérdés bújik meg az „a webhely még mindig ismer engem” mögött, és a válasz attól függ, melyiket teszed fel valójában.

Három kérdés, egy tünet

Először: felismeri-e a webhely a tárolt sütit? Másodszor: felismeri-e a bejelentkezett fiókot, amely bármely egyedi sütitől függetlenül fennmarad? Harmadszor: felismer-e valamit a böngészőről vagy az eszközről a tárolt állapot helyett? Mindegyiknek megvan a maga tesztje és a maga orvossága.

What you changedWhat it actually tests
VPN exit addressWhether the site treats a different network origin differently
Cookie jar for one siteWhether a stored identifier was doing the recognition
Browser profile or accountWhether identity, rather than storage, links the visits

A zavar nagy része abból ered, hogy az elsőt megváltoztatjuk, és azt várjuk, hogy a második követi. A hálózati cím és a böngészőtár két külön rendszer, amelyeket véletlenül ugyanaz az oldal használ.

Mit hordoz valójában egy süti

A HTTP-állapotkezelés, ahogyan azt az RFC 6265 meghatározza, szándékosan egyszerű: a kiszolgáló beállít egy nevet és egy értéket egy hatókörrel, és a böngésző visszaküldi azokat azokhoz a kérésekhez, amelyek megfelelnek ennek a hatókörnek. Az érték lehet munkamenet-azonosító, beállítás vagy átlátszatlan token, amelyet a kiszolgáló egy kosárrekordhoz rendel. A mechanizmus sehol nem említi az ügyfél címét.

Ez a kialakítás az oka annak, hogy a szokásos bejelentkezések és kosarak túlélnek egy hálózatváltást, és ez az oka annak is, hogy a nyomkövetőknél is túlélik. Ugyanaz a mechanizmus szolgálja mindkét célt, és nem tesz különbséget közöttük. A protokollban nincs mező az ügyfél címére, tehát nincs mit érvénytelenítenie egy új kilépésnek. Egy webhelynek, amely sütit akarna hálózati forráshoz kötni, magának kellene hozzáadnia ezt a logikát.

Amikor egy webhely visszaküld egy sütit, a kiszolgáló megkeresi azt a rekordot, amelyre ez az érték mutat. A kérés útvonalának megváltoztatása nem változtatja meg ezt a keresést, és ez a teljes magyarázat a bevásárlókosárral kapcsolatos megfigyelésre.

Döntsd el, mit mér a teszted

Mielőtt bármit megváltoztatnál, írd le azt az állapotot, ahonnan indulsz: melyik böngészőprofil, melyik fiók, mely webhelyadatok, melyik hálózati útvonal. Aztán változtass meg pontosan egyet közülük, és figyelj. Egy teszt, amely egyszerre változtatja a kilépési címet és a böngészőprofilt, semmit sem bizonyít egyikről sem.

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/cart

Mindkét parancs ugyanazt a sütifájlt használja újra, a második pedig más helyi forráscímet kényszerít ott, ahol a gazdagép engedi. A kosár válasza mindkét esetben ugyanaz, mert a kiszolgáló soha nem látott más ügyfélidentitást, csak más útvonalat. Ez a mechanizmus egyetlen megismételhető kéréspárban.

Ha a cél annak megtekintése, hogy a webhely felismer-e téged tárolt állapot nélkül, töröld a webhely adatait, és ismételd meg. Ha továbbra is felismer, a következő gyanúsítottak a bejelentkezett fiók, egy követett hivatkozás vagy a böngésző jellemzői, és nem egy süti.

A megfelelő állapotot töröld, ne a hálózatot

Egy webhely tárhelyének eltávolítása a böngésző saját vezérlőihez tartozik, és gyakran mellékhatásként kijelentkeztet vagy visszaállítja a beállításokat. Nem törli a fiókot vagy a szolgáltatás által már tárolt rekordokat; azokhoz a szolgáltatás saját folyamatára van szükség.

A webhelyek közötti korlátozások a probléma másik részével foglalkoznak. A böngészők blokkolhatják vagy feloszthatják azt a tárhelyet, amelyet a beágyazott szolgáltatások egyébként megosztanának a webhelyek között, miközben az első féltől származó bejelentkezés tovább működik. A sikeres bejelentkezés tehát nem bizonyítéka annak, hogy a webhelyek közötti követés működik.

A privát ablakok egy másik eszköz, amelynek hatóköre szűkebb, mint az emberek várják. A webhelyek a munkamenet alatt továbbra is beállíthatnak sütiket, és a bejelentkezés továbbra is azonosítja a fiókot. Az ideiglenes állapotot a privát munkamenet befejezése dobja el, ami azt jelenti, hogy minden privát ablakot be kell zárni, nem csak egy lapot.

Végül kezeld az ujjlenyomat-alapú azonosítást lehetőségként, és ne az első magyarázatként. Az eszköz és a böngésző jellemzői tárolt süti nélkül is összekapcsolhatják a látogatásokat, és a tárhely törlése nem érinti őket. Először az egyszerű okokat ellenőrizd, aztán szélesítsd a vizsgálatot, és jegyezd fel, melyik állapotot változtattad meg, hogy a következő összehasonlítás értelmes legyen.

Kapcsolódó cikkek