Дали менувањето на 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Двете наредби ја користат истата датотека со колачиња, а втората наметнува друга локална изворна адреса таму каде што домаќинот го дозволува. Одговорот на кошничката е ист во двата случаи затоа што серверот никогаш не видел различен идентитет на клиент, само различна патека. Тоа е механизмот во еден пар барања што може да се повтори.
Ако целта е да видите дали страницата ве препознава без зачувана состојба, избришете ги податоците на таа страница и повторете. Ако сѐ уште ве препознава, следните осомничени се најавената сметка, врската што сте ја следеле или карактеристиките на прелистувачот, а не колачето.
Избришете ја вистинската состојба, не мрежата
Отстранувањето на складиштето на една страница ѝ припаѓа на сопствените контроли на прелистувачот и често како несакан ефект ќе ве одјави или ќе ги ресетира поставките. Тоа не ја брише сметката или записите што услугата веќе ги чува; за нив е потребна сопствената постапка на услугата.
Ограничувањата меѓу страниците решаваат друг дел од проблемот. Прелистувачите можат да блокираат или да поделат складиште што вградените услуги инаку би го делеле меѓу страниците, додека најавата од прва страна продолжува да работи. Затоа успешната најава не е доказ дека следењето меѓу страниците функционира.
Приватните прозорци се уште една алатка со потесен опсег отколку што луѓето очекуваат. Страниците сѐ уште можат да поставуваат колачиња за време на сесијата, а најавата сѐ уште ја идентификува сметката. Токму завршувањето на приватната сесија ја отфрла привремената состојба, што значи да ги затворите сите приватни прозорци, а не едно јазиче.
На крајот, третирајте го препознавањето по отпечаток како можност, а не како прво објаснување. Карактеристиките на уредот и прелистувачот можат да ги поврзат посетите без никакво зачувано колаче, а бришењето на складиштето нема да ги допре. Прво проверете ги едноставните причини, потоа проширете ја истрагата и забележете која состојба сте ја смениле, за да има смисла следната споредба.