Зошто излезот на VPN и јазикот на вашиот прелистувач не се совпаѓаат
Accept-Language бара јазик на одговорот; VPN ја менува изворната адреса. Кога страницата изгледа локализирана, три влезови одлучуваат кој победил.
Отворете ги алатките за програмери, вчитајте ја страницата и прочитајте ги заглавјата на барањето пред да заклучите нешто за VPN. Обично ќе најдете ред Accept-Language што бара одредено множество јазици, и тој ред доаѓа од поставките на прелистувачот, не од вашата излезна адреса. Франкофон на излез во Токио сѐ уште испраќа француски, а страницата што одговара на француски одговара на заглавјето. Тунелот не протекува само затоа што страницата пристигна на познат јазик.
Прво прочитајте го заглавјето
Во десктоп прелистувач отворете го панелот Мрежа, вчитајте повторно, кликнете на барањето за документот и погледнете под заглавјата на барањето. Од терминал можете да го видите истото без прелистувач, и можете да ја надоместите вредноста за да го тестирате однесувањето на страницата:
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
Сега телото е на дискот, па споредбата е за страницата, а не за заглавје што може никогаш да не биде испратено. Погледнете го атрибутот lang на ознаката html и видливиот текст, бидејќи Content-Language е изборен и многу сервери го испуштаат. Затоа страница што на истиот URL ја менува целата страница од англиски на француски може да изгледа непроменета во споредба само на заглавја. Ако јазикот на документот го следи заглавјето додека излезот останува непроменет, заглавјето било одлучувачкиот влез и VPN нема никаква врска со тоа набљудување.
За овој тест користете втор профил на прелистувач наместо прекинувачот за јазик на самата страница. Прекинувачот обично запишува колаче, што е друг влез, и на крајот ќе го мерите колачето наместо заглавјето.
Што значат q-вредностите, а што не
RFC 9110, дел 12.5.4, го дефинира Accept-Language како список на претпочитани природни јазици за одговорот. Секој запис може да носи тежина од 0 до 1, опсег без тежина има тежина 1, а тежина 0 означува јазик како неприфатлив. Тоа е редослед на претпочитање и ништо повеќе.
Вредноста не е извештај за локација, ниту оценка за доверба, ниту идентитет. Серверот е слободен да ја игнорира, да го послужи единствениот превод што го има или да дозволи пренасочување по земја да победи. Преговарањето за содржината е избор на серверот, а заглавјето е влез за тој избор, не заповед.
Токму тоа го пропуштаат луѓето кога локализирана страница ја третираат како тест за локација. Заглавјето кажува кои јазици лицето претпочита да ги чита, а претпочитањето може да патува каде било.
Три влезови одлучуваат кој јазик навистина го добивате
Изолирајте ги еден по еден, зашто однадвор не гледате кој победил:
- Заглавјето. Тестирајте со втор профил поставен на друг список јазици и гледајте дали страницата се менува додека сѐ друго останува исто.
- Зачуван избор. Тестирајте во приватно прозорец без колачиња или избришете го складиштето на страницата. Поставките на сметката и записите во localStorage можат да го заковаат јазикот со месеци.
- URL или пренасочување. Тестирајте со барање на експлицитната јазична патека, на пример
/fr/, и со следење на статусните кодови на пренасочување засновано на изворната адреса.
Изведете ги трите теста по тој ред и запишете кој го помести резултатот. Едно вчитување на страница што го менува јазикот откако ќе го вклучите VPN е слаб доказ, бидејќи и пренасочувањето и кешираното колаче можат да го создадат тој впечаток.
Што менува VPN, а што не
Тунелот ја менува изворната адреса што ја гледа серверот, и со неа сѐ што серверот изведува од IP-геолокацијата. Тој не ги препишува јазичните претпочитања на прелистувачот, не брише зачувана поставка и не го менува URL-то што сте го внеле. Тие влезови остануваат точно таму каде што беа, па страницата може да го задржи стариот јазик откако излезот ќе се премести.
Геолокацијата додава сопствен шум. Базите на адреси се противречат една на друга, а излез регистриран во една земја може да биде мапиран на друга, што го прави пренасочувањето по земја погрешно од причини што немаат никаква врска со вашиот прелистувач.
Брза проверка ги разделува: побарајте ја страницата одново, забележете ја адресата што ја презентирате, па споредете го јазикот на одговорот со вашиот список на заглавја. Ако јазикот се совпаѓа со вашиот список, а не со земјата на излезот, заглавјето било одлучувачкиот влез и во тунелот нема што да се поправи.
Што докажува локализираната страница, а што не
Овде има вистинска точка за приватноста и таа е помала од онаа што луѓето обично ја истакнуваат. Целосниот список на јазични претпочитања е влез за отпечаток и може да открие нешто за тоа кој сте или што читате. Тоа е вистинско откривање на претпочитање и не е исто со докажување дека сообраќајот излегол од тунелот.
Локализираната страница не е показател за протекување. Ако навистина сакате да тестирате протекување, проверете ја излезната адреса што ја гледа страницата, патеката на резолверот што се користи за барање имиња и кандидатите што ги изложува стекот WebRTC. Тие тестови одговараат на прашањето на кое јазикот на страницата не може да одговори.
Следниот пат кога страницата ќе изгледа дека ја знае вашата земја, прво отворете ги заглавјата на барањето. Ако јазикот на одговорот се совпаѓа со списокот на вашиот прелистувач, ништо не протече, и слојот што треба да го гледате е оној пред вас.