Изхвърля ли ви от профила в магазин смяната на VPN сървър?
Новият адрес на изход не изпразва хранилището за бисквитки. Първо решете дали тествате мрежовия път, сесията с вписване или запазените данни на сайта.
Сменете изхода на VPN, докато магазинът е отворен в друг раздел, и кошницата обикновено все още е там. Това не е повреда на VPN; това е браузърът, който прави точно това, което му е казано. Бисквитката се изпраща от браузъра и новият мрежов път не променя това, което браузърът съхранява. Зад „сайтът все още ме познава“ се крият три различни въпроса и отговорът зависи кой от тях всъщност задавате.
Три въпроса, един симптом
Първо: разпознава ли сайтът запазена бисквитка? Второ: разпознава ли вписан акаунт, който се запазва независимо от всяка отделна бисквитка? Трето: разпознава ли нещо за браузъра или устройството, а не запазено състояние? Всяко има своя тест и своето решение.
| 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 |
Повечето объркване идва от това да смените първото и да очаквате второто да последва. Мрежовият адрес и хранилището на браузъра са отделни системи, които просто се използват от една и съща страница.
Какво всъщност носи бисквитката
Управлението на състояние в HTTP, определено в RFC 6265, е умишлено просто: сървърът задава име и стойност с обхват, а браузърът ги връща за заявки, които отговарят на този обхват. Стойността може да е идентификатор на сесия, предпочитание или непрозрачен маркер, който сървърът свързва със запис на кошница. Никъде в механизма не се споменава адресът на клиента.
Този дизайн е причината обичайните вписвания и кошници да оцеляват при промяна на мрежата, а също и причината да оцеляват при тракерите. Същият механизъм служи и за двете цели и не ги различава. В протокола няма поле за адреса на клиента, така че новият изход няма какво да обезсили. Сайт, който искаше да обвърже бисквитка с мрежов произход, трябваше сам да добави тази логика.
Когато сайтът върне бисквитка, сървърът търси записа, към който сочи тази стойност. Промяната на маршрута, по който е минала заявката, не променя търсенето и това е цялото обяснение на наблюдението с кошницата за пазаруване.
Решете какво измерва вашият тест
Преди да промените нещо, запишете състоянието, от което започвате: кой профил на браузъра, кой акаунт, кои данни на сайта, кой мрежов път. След това променете точно едно от тях и наблюдавайте. Тест, който променя едновременно адреса на изхода и профила на браузъра, не доказва нищо за нито едно от двете.
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И двете команди използват един и същ файл за бисквитки, а втората налага различен локален адрес на източника, където хостът го позволява. Отговорът на кошницата е един и същ в двата случая, защото сървърът никога не е виждал различна идентичност на клиента, а само различен път. Това е механизмът в една възпроизводима двойка заявки.
Ако целта е да видите дали сайтът ви разпознава без запазено състояние, изчистете данните на този сайт и повторете. Ако все още ви разпознава, следващите заподозрени са вписаният акаунт, връзка, която сте последвали, или характеристики на браузъра, а не бисквитка.
Изчистете правилното състояние, а не мрежата
Премахването на хранилището на един сайт е работа на собствените контроли на браузъра и често ще ви изпише или ще нулира предпочитания като страничен ефект. То не изтрива акаунта или записите, които услугата вече пази; за тях е нужен собственият процес на услугата.
Ограниченията между сайтове се занимават с друга част от проблема. Браузърите могат да блокират или разделят хранилище, което вградените услуги иначе биха споделяли между сайтове, докато вписването от първа страна продължава да работи. Затова успешното вписване не е доказателство, че проследяването между сайтове работи.
Частните прозорци са друг инструмент с по-тесен обхват, отколкото хората очакват. Сайтовете все още могат да задават бисквитки по време на сесията и вписването все още идентифицира акаунта. Именно краят на частната сесия изхвърля временното състояние, което означава да затворите всеки частен прозорец, а не един раздел.
Накрая, третирайте разпознаването по отпечатък като възможност, а не като първото обяснение. Характеристиките на устройството и браузъра могат да свързват посещения без никаква запазена бисквитка и изчистването на хранилището няма да ги засегне. Проверете първо простите причини, после разширете разследването и си водете бележка кое състояние сте променили, за да има смисъл следващото сравнение.