Pakeiskite VPN išėjimą, kai parduotuvė atidaryta kitoje kortelėje, ir krepšelis paprastai dar būna vietoje. Tai ne VPN gedimas; tai naršyklė daro tiksliai tai, kas jai pasakyta. Slapuką siunčia naršyklė, o naujas tinklo kelias nekeičia to, ką naršyklė saugo. Už frazės „svetainė vis dar mane pažįsta“ slepiasi trys skirtingi klausimai, o atsakymas priklauso nuo to, kurį iš tikrųjų užduodate.

Trys klausimai, vienas simptomas

Pirma: ar svetainė atpažįsta išsaugotą slapuką? Antra: ar ji atpažįsta prisijungusią paskyrą, kuri išlieka nepriklausomai nuo bet kurio atskiro slapuko? Trečia: ar ji atpažįsta ką nors apie naršyklę ar įrenginį, o ne išsaugotą būseną? Kiekvienas turi savo testą ir savo sprendimą.

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

Daugiausia painiavos kyla pakeitus pirmąjį ir tikintis, kad antrasis seks. Tinklo adresas ir naršyklės saugykla yra dvi atskiros sistemos, kurias atsitiktinai naudoja tas pats puslapis.

Ką slapukas iš tikrųjų neša

HTTP būsenos valdymas, kaip apibrėžta RFC 6265, yra sąmoningai paprastas: serveris nustato pavadinimą ir reikšmę su apimtimi, o naršyklė grąžina juos užklausoms, atitinkančioms tą apimtį. Reikšmė gali būti sesijos identifikatorius, nuostata arba nepermatomas žetonas, kurį serveris susieja su krepšelio įrašu. Mechanizme niekur neminimas kliento adresas.

Dėl šios konstrukcijos įprasti prisijungimai ir krepšeliai išgyvena tinklo pasikeitimą, ir dėl tos pačios priežasties jie išgyvena jį ir seklių atveju. Tas pats mechanizmas tarnauja abiem tikslams ir jų neskiria. Protokole nėra lauko kliento adresui, tad naujam išėjimui nėra ko panaikinti. Svetainė, kuri norėtų susieti slapuką su tinklo kilme, turėtų pati pridėti tą logiką.

Kai svetainė grąžina slapuką, serveris ieško įrašo, į kurį nurodo ta reikšmė. Maršruto, kuriuo ėjo užklausa, pakeitimas tos paieškos nekeičia, ir tai yra visas pirkinio krepšelio stebėjimo paaiškinimas.

Nuspręskite, ką matuoja jūsų testas

Prieš ką nors keisdami, užsirašykite pradinę būseną: koks naršyklės profilis, kokia paskyra, kokie svetainės duomenys, koks tinklo kelias. Tada pakeiskite lygiai vieną iš jų ir stebėkite. Testas, kuris vienu metu keičia išėjimo adresą ir naršyklės profilį, nieko neįrodo apie nė vieną iš jų.

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

Abi komandos naudoja tą patį slapukų failą, o antroji priverčia naudoti kitą vietinį šaltinio adresą ten, kur prieglobos serveris tai leidžia. Krepšelio atsakymas abiem atvejais toks pat, nes serveris niekada nematė kitos kliento tapatybės, tik kitą kelią. Tai mechanizmas vienoje pakartojamoje užklausų poroje.

Jei tikslas yra pamatyti, ar svetainė atpažįsta jus be išsaugotos būsenos, ištrinkite tos svetainės duomenis ir pakartokite. Jei ji vis tiek atpažįsta, kiti įtariamieji yra prisijungusi paskyra, nuoroda, kuria sekėte, arba naršyklės savybės, o ne slapukas.

Ištrinkite tinkamą būseną, o ne tinklą

Vienos svetainės saugyklos pašalinimas priklauso naršyklės valdymo priemonėms, ir dažnai šalutiniu poveikiu jus atjungs arba atstatys nuostatas. Tai nepanaikina paskyros ar įrašų, kuriuos paslauga jau turi; jiems reikia pačios paslaugos procedūros.

Apribojimai tarp svetainių sprendžia kitą problemos dalį. Naršyklės gali blokuoti arba atskirti saugyklą, kurią įterptos paslaugos kitu atveju dalytųsi tarp svetainių, o pirmosios šalies prisijungimas veikia toliau. Todėl sėkmingas prisijungimas nėra įrodymas, kad sekimas tarp svetainių veikia.

Privatūs langai yra dar viena priemonė, kurios apimtis siauresnė, nei žmonės tikisi. Svetainės vis dar gali nustatyti slapukus sesijos metu, o prisijungimas vis dar identifikuoja paskyrą. Būtent privačios sesijos pabaiga atmeta laikiną būseną, o tai reiškia uždaryti visus privačius langus, o ne vieną kortelę.

Galiausiai, traktuokite atpažinimą pagal pirštų atspaudą kaip galimybę, o ne pirmąjį paaiškinimą. Įrenginio ir naršyklės savybės gali susieti apsilankymus be jokio išsaugoto slapuko, o saugyklos ištrynimas jų nepaveiks. Pirmiausia patikrinkite paprastas priežastis, tada išplėskite tyrimą ir pasižymėkite, kurią būseną pakeitėte, kad kitas palyginimas būtų prasmingas.

Susiję straipsniai