Czy zmiana serwera VPN wylogowuje cię ze sklepu?
Nowy adres wyjściowy nie opróżnia słoika na pliki cookie. Najpierw zdecyduj, czy testujesz ścieżkę sieciową, zalogowaną sesję czy zapisane dane witryny.
Zmień wyjście VPN, gdy sklep jest otwarty w innej karcie, a koszyk zwykle nadal tam jest. To nie awaria VPN; to przeglądarka robi dokładnie to, co jej kazano. Plik cookie wysyła przeglądarka, a nowa ścieżka sieciowa nie zmienia tego, co przeglądarka przechowuje. Za zdaniem „strona nadal mnie zna” kryją się trzy różne pytania, a odpowiedź zależy od tego, które naprawdę zadajesz.
Trzy pytania, jeden objaw
Po pierwsze: czy strona rozpoznaje zapisany plik cookie? Po drugie: czy rozpoznaje konto zalogowanego użytkownika, które trwa niezależnie od pojedynczego pliku cookie? Po trzecie: czy rozpoznaje coś w przeglądarce lub urządzeniu, a nie zapisany stan? Każde ma własny test i własne rozwiązanie.
| 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 |
Większość zamieszania bierze się ze zmiany pierwszego i oczekiwania, że nastąpi drugie. Adres sieciowy i magazyn przeglądarki to dwa odrębne systemy, których przypadkowo używa ta sama strona.
Co naprawdę niesie plik cookie
Zarządzanie stanem HTTP, określone w RFC 6265, jest celowo proste: serwer ustawia nazwę i wartość z zakresem, a przeglądarka odsyła je dla żądań pasujących do tego zakresu. Wartość może być identyfikatorem sesji, preferencją lub nieprzejrzystym tokenem, który serwer mapuje na rekord koszyka. Nic w tym mechanizmie nie wspomina adresu klienta.
Właśnie dlatego zwykłe logowania i koszyki przetrwają zmianę sieci, a także dlatego przetrwają ją w przypadku trackerów. Ten sam mechanizm służy obu celom i nie rozróżnia ich. W protokole nie ma pola na adres klienta, więc nowe wyjście nie ma czego unieważnić. Strona, która chciałaby powiązać plik cookie z pochodzeniem sieciowym, musiałaby sama dodać tę logikę.
Gdy strona odsyła plik cookie, serwer wyszukuje rekord, na który wskazuje ta wartość. Zmiana trasy, którą podążyło żądanie, nie zmienia tego wyszukiwania, i to jest całe wyjaśnienie obserwacji z koszykiem zakupowym.
Zdecyduj, co mierzy twój test
Zanim cokolwiek zmienisz, zapisz stan początkowy: który profil przeglądarki, które konto, które dane strony, która ścieżka sieciowa. Następnie zmień dokładnie jeden z nich i obserwuj. Test, który jednocześnie zmienia adres wyjściowy i profil przeglądarki, nie dowodzi niczego o żadnym z nich.
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/cartOba polecenia ponownie używają tego samego pliku cookie, a drugie wymusza inny lokalny adres źródłowy tam, gdzie host na to pozwala. Odpowiedź koszyka jest taka sama w obu przypadkach, ponieważ serwer nigdy nie widział innej tożsamości klienta, tylko inną trasę. To jest ten mechanizm w jednej powtarzalnej parze żądań.
Jeśli celem jest sprawdzenie, czy strona rozpoznaje cię bez zapisanego stanu, wyczyść dane tej strony i powtórz. Jeśli nadal cię rozpoznaje, kolejnymi podejrzanymi są zalogowane konto, link, który odwiedziłeś, lub cechy przeglądarki, a nie plik cookie.
Wyczyść właściwy stan, a nie sieć
Usuwanie magazynu jednej strony należy do własnych elementów sterujących przeglądarki i często w skutek uboczny wylogowuje cię lub resetuje preferencje. Nie usuwa konta ani rekordów, które usługa już przechowuje; te wymagają własnej procedury usługi.
Ograniczenia między witrynami dotyczą innej części problemu. Przeglądarki mogą blokować lub dzielić magazyn, który osadzone usługi dzieliłyby między witrynami, podczas gdy logowanie pierwszej strony nadal działa. Udane logowanie nie jest więc dowodem, że śledzenie między witrynami działa.
Okna prywatne to kolejne narzędzie o węższym zakresie, niż ludzie oczekują. Witryny nadal mogą ustawiać pliki cookie podczas sesji, a logowanie nadal identyfikuje konto. To zakończenie prywatnej sesji odrzuca tymczasowy stan, co oznacza zamknięcie każdego okna prywatnego, a nie jednej karty.
Na koniec traktuj fingerprinting jako możliwość, a nie pierwsze wyjaśnienie. Cechy urządzenia i przeglądarki mogą łączyć wizyty bez żadnego zapisanego pliku cookie, a czyszczenie magazynu ich nie dotknie. Najpierw sprawdź proste przyczyny, potem rozszerz dochodzenie i zanotuj, który stan zmieniłeś, aby następne porównanie miało sens.