Otvorte vývojárske nástroje, načítajte stránku a prečítajte si hlavičky požiadavky, skôr než o VPN čokoľvek usúdite. Zvyčajne nájdete riadok Accept-Language, ktorý žiada určitú množinu jazykov, a tento riadok pochádza z nastavení prehliadača, nie z vašej výstupnej adresy. Frankofónny používateľ na tokijskom výstupe stále posiela francúzštinu a stránka, ktorá odpovedá po francúzsky, odpovedá hlavičke. Tunel nepresakuje len preto, že stránka prišla v známom jazyku.

Najprv si prečítajte hlavičku

V desktopovom prehliadači otvorte panel Sieť, znova načítajte, kliknite na požiadavku dokumentu a pozrite sa pod hlavičky požiadavky. Z terminálu uvidíte to isté bez prehliadača a hodnotu môžete prepísať, aby ste otestovali správanie stránky:

curl -sS -D /tmp/h1 -o /tmp/b1 https://example.com
curl -sS -D /tmp/h2 -o /tmp/b2 -H 'Accept-Language: fr,en;q=0.6' https://example.com
grep -o 'lang="[^"]*"' /tmp/b1 /tmp/b2
diff /tmp/b1 /tmp/b2 | head -40

Teraz je telo na disku, takže porovnanie sa týka stránky, nie hlavičky, ktorá nemusí byť nikdy odoslaná. Pozrite sa na atribút lang značky html a na viditeľný text, pretože Content-Language je voliteľný a mnohé servery ho vynechávajú. Preto stránka, ktorá na tej istej URL prepne celú stránku z angličtiny do francúzštiny, môže v porovnaní iba hlavičiek vyzerať nezmenená. Ak jazyk dokumentu nasleduje hlavičku, kým výstup zostáva pevný, hlavička bola rozhodujúcim vstupom a VPN s týmto pozorovaním nemá nič spoločné.

Na tento test použite druhý profil prehliadača, nie prepínač jazyka samotnej stránky. Prepínač zvyčajne zapisuje cookie, čo je iný vstup, a nakoniec zmeriate cookie namiesto hlavičky.

Čo znamenajú hodnoty q a čo nie

RFC 9110 v časti 12.5.4 definuje Accept-Language ako zoznam preferovaných prirodzených jazykov odpovede. Každá položka môže niesť váhu od 0 do 1, rozsah bez váhy má váhu 1 a váha 0 označuje jazyk ako neprijateľný. Je to poradie preferencií a nič viac.

Hodnota nie je správa o polohe, ani skóre dôveryhodnosti, ani identita. Server ju môže ignorovať, poskytnúť jediný preklad, ktorý má, alebo nechať vyhrať presmerovanie podľa krajiny. Vyjednávanie obsahu je voľba servera a hlavička je vstupom do tejto voľby, nie príkazom.

Toto je časť, ktorú ľudia prehliadnu, keď lokalizovanú stránku berú ako test polohy. Hlavička hovorí, ktoré jazyky človek preferuje čítať, a preferencia môže cestovať kamkoľvek.

Jazyk, ktorý skutočne dostanete, určujú tri vstupy

Izolujte ich jeden po druhom, pretože zvonka nevidíte, ktorý zvíťazil:

  • Hlavička. Testujte s druhým profilom nastaveným na iný zoznam jazykov a sledujte, či sa stránka mení, kým všetko ostatné zostáva rovnaké.
  • Uložená voľba. Testujte v anonymnom okne bez cookies alebo vymažte úložisko stránky. Nastavenia účtu a záznamy v localStorage môžu jazyk pripnúť na mesiace.
  • URL alebo presmerovanie. Testujte požiadavkou na explicitnú jazykovú cestu, napríklad /fr/, a sledovaním stavových kódov presmerovania založeného na zdrojovej adrese.

Vykonajte tri testy v tomto poradí a zapíšte, ktorý posunul výsledok. Jediné načítanie stránky, ktoré zmení jazyk po zapnutí VPN, je slabý dôkaz, pretože presmerovanie aj uložená cookie môžu vytvoriť ten dojem.

Čo VPN mení a čo nie

Tunel mení zdrojovú adresu, ktorú server vidí, a s ňou všetko, čo server odvodzuje z IP geolokácie. Neprepisuje jazykové preferencie prehliadača, nemaže uložené nastavenie a nemení URL, ktorú ste zadali. Tieto vstupy zostávajú presne tam, kde boli, takže stránka si môže ponechať starý jazyk po tom, čo sa výstup posunie.

Geolokácia pridáva vlastný šum. Databázy adries si navzájom odporujú a výstup registrovaný v jednej krajine môže byť priradený inej, čo robí presmerovanie podľa krajiny nesprávnym z dôvodov, ktoré s vaším prehliadačom nemajú nič spoločné.

Rýchla kontrola ich oddelí: vyžiadajte stránku znova, poznamenajte adresu, ktorú prezentujete, a potom porovnajte jazyk odpovede so svojím zoznamom hlavičiek. Ak jazyk zodpovedá vášmu zoznamu a nie krajine výstupu, hlavička bola rozhodujúcim vstupom a v tuneli nie je čo opraviť.

Čo lokalizovaná stránka dokazuje a čo nie

Je tu skutočný bod o súkromí a je menší než ten, ktorý ľudia zvyčajne zdôrazňujú. Úplný zoznam jazykových preferencií je vstupom pre odtlačok a môže prezradiť niečo o tom, kým ste alebo čo čítate. To je skutočné prezradenie preferencie a nie je to isté ako dôkaz, že prevádzka unikla z tunela.

Lokalizovaná stránka nie je indikátor úniku. Ak naozaj chcete testovať únik, skontrolujte výstupnú adresu, ktorú stránka vidí, cestu prekladača používanú na vyhľadávanie mien a kandidátov, ktoré odhaľuje zásobník WebRTC. Tieto testy odpovedajú na otázku, na ktorú jazyk stránky nedokáže odpovedať.

Nabudúce, keď bude stránka vyzerať, že pozná vašu krajinu, otvorte najprv hlavičky požiadavky. Ak jazyk odpovede zodpovedá zoznamu vášho prehliadača, nič neuniklo a vrstva, na ktorú sa treba pozrieť, je tá pred vami.

Súvisiace články