Otevřete vývojářské nástroje, načtěte stránku a přečtěte si hlavičky požadavku, než o VPN cokoli usoudíte. Obvykle najdete řádek Accept-Language, který žádá určitou sadu jazyků, a tento řádek pochází z nastavení prohlížeče, ne z vaší výstupní adresy. Frankofonní uživatel na tokijském výstupu stále posílá francouzštinu a web, který odpovídá francouzsky, odpovídá hlavičce. Tunel neprosakuje jen proto, že stránka dorazila ve známém jazyce.

Nejdřív si přečtěte hlavičku

V desktopovém prohlížeči otevřete panel Síť, znovu načtěte stránku, klikněte na požadavek dokumentu a podívejte se do hlaviček požadavku. Z terminálu uvidíte totéž bez prohlížeče a hodnotu můžete přepsat, abyste otestovali chování webu:

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

Tělo je teď na disku, takže srovnání se týká stránky, ne hlavičky, která nemusí být nikdy odeslána. Podívejte se na atribut lang u značky html a na viditelný text, protože Content-Language je volitelný a mnoho serverů ho vynechává. Proto web, který na stejné URL přepne celou stránku z angličtiny do francouzštiny, může ve srovnání jen hlaviček vypadat beze změny. Pokud jazyk dokumentu následuje hlavičku, zatímco výstup zůstává pevný, hlavička byla rozhodujícím vstupem a VPN s tímto pozorováním nemá nic společného.

Pro tento test použijte druhý profil prohlížeče, ne přepínač jazyka samotného webu. Přepínač obvykle zapisuje cookie, což je jiný vstup, a nakonec změříte cookie místo hlavičky.

Co znamenají hodnoty q a co ne

RFC 9110 v části 12.5.4 definuje Accept-Language jako seznam preferovaných přirozených jazyků odpovědi. Každá položka může nést váhu od 0 do 1, rozsah bez váhy má váhu 1 a váha 0 označuje jazyk jako nepřijatelný. To je pořadí preferencí a nic víc.

Hodnota není zpráva o poloze, ani skóre důvěryhodnosti, ani identita. Server ji může ignorovat, posloužit jediný překlad, který má, nebo nechat vyhrát přesměrování podle země. Vyjednávání obsahu je volba serveru a hlavička je vstupem do této volby, ne příkazem.

To je část, kterou lidé přehlédnou, když lokalizovanou stránku berou jako test polohy. Hlavička říká, které jazyky člověk preferuje ke čtení, a preference může cestovat kamkoli.

Jazyk, který skutečně dostanete, určují tři vstupy

Izolujte je jeden po druhém, protože zvenčí nevidíte, který vyhrál:

  • Hlavička. Testujte s druhým profilem nastaveným na jiný seznam jazyků a sledujte, jak se stránka mění, zatímco vše ostatní zůstává stejné.
  • Uložená volba. Testujte v anonymním okně bez cookies nebo vymažte úložiště webu. Nastavení účtu a záznamy v localStorage mohou jazyk připnout na měsíce.
  • URL nebo přesměrování. Testujte požadavkem na explicitní jazykovou cestu, například /fr/, a sledováním stavových kódů přesměrování založeného na zdrojové adrese.

Proveďte tři testy v tomto pořadí a zapište, který výsledek změnil. Jediné načtení stránky, které po zapnutí VPN změní jazyk, je slabý důkaz, protože přesměrování i uložená cookie mohou tento dojem vytvořit.

Co VPN mění a co ne

Tunel mění zdrojovou adresu, kterou server vidí, a s ní i vše, co server odvozuje z IP geolokace. Nepřepisuje jazykové preference prohlížeče, nemaže uložené nastavení a nemění URL, kterou jste zadali. Tyto vstupy zůstávají přesně tam, kde byly, takže stránka si může ponechat starý jazyk poté, co se výstup posune.

Geolokace přidává vlastní šum. Databáze adres si navzájem odporují a výstup registrovaný v jedné zemi může být namapován do jiné, což dělá přesměrování podle země chybným z důvodů, které s vaším prohlížečem nemají nic společného.

Rychlá kontrola je oddělí: vyžádejte stránku znovu, poznamenejte adresu, kterou prezentujete, a potom porovnejte jazyk odpovědi se svým seznamem v hlavičce. Pokud jazyk odpovídá vašemu seznamu, a ne zemi výstupu, hlavička byla rozhodujícím vstupem a v tunelu není co opravovat.

Co lokalizovaná stránka dokazuje a co ne

Je tu skutečný bod o soukromí a je menší než ten, který lidé obvykle zdůrazňují. Úplný seznam jazykových preferencí je vstup pro otisk a může prozradit něco o tom, kdo jste nebo co čtete. To je skutečné vyzrazení preference a není to totéž jako důkaz, že provoz unikl z tunelu.

Lokalizovaná stránka není indikátor úniku. Pokud opravdu chcete testovat únik, zkontrolujte výstupní adresu, kterou web vidí, cestu překladače používanou pro dotazy na jména a kandidáty, které vystavuje zásobník WebRTC. Tyto testy odpovídají na otázku, na kterou jazyk stránky odpovědět nemůže.

Až příště bude web vypadat, že zná vaši zemi, otevřete nejdřív hlavičky požadavku. Pokud jazyk odpovědi odpovídá seznamu vašeho prohlížeče, nic neuniklo a vrstva, na kterou se máte podívat, je ta před vámi.

Související články