Pechar a sesión nunha tenda ao cambiar de servidor VPN?
Un novo enderezo de saída non baleira o tarro de cookies. Decide primeiro se estás a probar a ruta de rede, a sesión iniciada ou os datos gardados do sitio.
Cambia a saída da VPN mentres unha tenda está aberta noutra lapela e a cesta adoita seguir alí. Iso non é un fallo da VPN; é o navegador facendo exactamente o que se lle dixo. Unha cookie séndaa o navegador, e unha nova ruta de rede non cambia o que o navegador garda. Detrás de «o sitio aínda me coñece» agóchanse tres preguntas distintas, e a resposta depende de cal esteas a facer de verdade.
Tres preguntas, un síntoma
Primeira: recoñece o sitio unha cookie gardada? Segunda: recoñece unha conta con sesión iniciada, que sobrevive independentemente de calquera cookie individual? Terceira: recoñece algo do navegador ou do dispositivo en lugar dun estado gardado? Cada unha ten a súa proba e o seu remedio.
| 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 |
A maior parte da confusión vén de cambiar a primeira e esperar que siga a segunda. Un enderezo de rede e un almacén do navegador son sistemas separados que resulta que usa a mesma páxina.
Que leva realmente unha cookie
A xestión de estado HTTP, especificada en RFC 6265, é deliberadamente sinxela: o servidor fixa un nome e un valor cun ámbito, e o navegador devólveos para as peticións que coinciden con ese ámbito. O valor pode ser un identificador de sesión, unha preferencia ou un testemuño opaco que o servidor asocia a un rexistro de cesta. Nada no mecanismo menciona o enderezo do cliente.
Ese deseño é a razón pola que os inicios de sesión e as cestas normais sobreviven a un cambio de rede, e tamén a razón pola que o sobreviven no caso dos rastrexadores. O mesmo mecanismo serve para ambos os fins e non os distingue. Non hai ningún campo no protocolo para o enderezo do cliente, así que non hai nada que unha nova saída poida invalidar. Un sitio que quixese ligar unha cookie a unha orixe de rede tería que engadir esa lóxica por si mesmo.
Cando un sitio devolve unha cookie, o servidor busca o rexistro ao que apunta ese valor. Cambiar a ruta que tomou a petición non cambia esa busca, e esa é toda a explicación da observación coa cesta da compra.
Decide que mide a túa proba
Antes de cambiar nada, anota o estado desde o que partimos: que perfil de navegador, que conta, que datos do sitio, que ruta de rede. Despois cambia exactamente un deles e observa. Unha proba que cambia á vez o enderezo de saída e o perfil do navegador non demostra nada sobre ningún dos dous.
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/cartAmbos os comandos reutilizan o mesmo ficheiro de cookies, e o segundo forza un enderezo de orixe local distinto onde o anfitrión o permite. A resposta da cesta é a mesma en ambos os casos porque o servidor nunca viu unha identidade de cliente distinta, só unha ruta distinta. Ese é o mecanismo nun par de peticións reproducible.
Se o obxectivo é ver se o sitio te recoñece sen estado gardado, borra os datos dese sitio e repite. Se segue recoñecéndote, os seguintes sospeitosos son a conta con sesión iniciada, unha ligazón que seguiches ou características do navegador en lugar dunha cookie.
Borra o estado correcto, non a rede
Eliminar o almacenamento dun só sitio corresponde aos controis propios do navegador, e a miúdo pechará a túa sesión ou restablecerá preferencias como efecto secundario. Non borra a conta nin os rexistros que o servizo xa ten; para iso fai falta o procedemento propio do servizo.
As restricións entre sitios abordan outra parte do problema. Os navegadores poden bloquear ou dividir o almacenamento que os servizos incorporados compartirían entre sitios, mentres que un inicio de sesión de primeira parte segue funcionando. Por tanto, un inicio de sesión correcto non é proba de que o rastrexo entre sitios funcione.
As xanelas privadas son outra ferramenta cun alcance máis estreito do que a xente espera. Os sitios aínda poden fixar cookies durante a sesión, e un inicio de sesión aínda identifica a conta. É rematar a sesión privada o que descarta o estado temporal, o que significa pechar todas as xanelas privadas e non unha soa lapela.
Por último, trata a identificación por impresión dixital como unha posibilidade e non como a primeira explicación. As características do dispositivo e do navegador poden ligar visitas sen ningunha cookie gardada, e borrar o almacenamento non as tocará. Comproba primeiro as causas simples, despois amplía a investigación e toma nota de que estado cambiaste para que a seguinte comparación teña sentido.