VPNを使ってもウェブサイトがあなたの都市を知る理由
サイトはブラウザの位置情報許可と公衆IPを別々に使えます。オリジンの許可、OSの設定、保存された都市を確認してください。
画面に都市を出す仕組みは二つあり、あなたのVPNがどこから出るかを気にするのはそのうち一つだけです。ブラウザのGeolocation APIは、ページに許可があれば端末の位置を返し、IP検索はリクエストが届いたアドレスから地域を推定します。トンネルが別の国で動いているのに実際の都市を表示するサイトは、通常は前者を使っているか、何か月も前に保存した都市を読んでいます。五つのステップがそのケースを分けます。
第一段階:どの仕組みが答えられるかを決める
まず、ページがそもそも何を知り得るかを考えます。端末の位置にはAPI呼び出しと許可の判断が必要で、正確な座標を生みます。IP推定は利用者に何も求めず、せいぜい都市を返し、しかも間違っていることがよくあります。保存されたアカウント設定はどちらも必要とせず、ネットワークが変わっても残ります。
この三つの出所がほとんどすべての報告を説明します。あなたの通りを中心にする地図サイトはAPIを使っています。間違った言語であいさつする店はIP推定を使っています。引っ越した後も地元の都市を出し続けるニュースサイトは、アカウントが保存した値を使っています。
| What the page shows | Likely source |
|---|---|
| Street-level accuracy | Device position from the Geolocation API |
| City or region only | IP geolocation of the exit address |
| Same city for months | Stored account preference |
| Different result in a private window | Stored permission or cached state |
第二段階:そのオリジンだけの許可を確認する
ブラウザはオリジンごとに許可の判断を覚えているので、昨年許可したサイトは新しい確認なしで開きます。グローバルな既定値ではなく、ブラウザのサイト設定でそのサイト固有の位置情報の項目を確認してください。グローバル設定は、何も保存されていないときに何が起きるかだけを決めるからです。
次にオペレーティングシステムを確認します。現代のパソコンやスマートフォンのブラウザにはプラットフォームの位置情報許可も必要で、プラットフォーム側で拒否されていると、サイトが許可されていてもAPIは失敗します。利用できる位置はプラットフォームのサービスから来ることがあり、それはトンネルとは関係ありません。
VPNの問題に見える失敗の多くは、二つの技術的条件で説明できます。APIは安全なコンテキストを必要とするため、単純なHTTPページではまったく使えず、埋め込みフレームはページのPermissions Policyで遮断されることがあります。したがって拒否されたリクエストは、ネットワークよりもブラウザやページの方針による結果であることがはるかに多いのです。
第三段階:新しいリクエストで出口アドレスを確かめる
テストしているのと同じブラウザから、独立したサービスにどのアドレスが見えるか尋ねます。古いタブ、service worker、キャッシュされたページは昨日の答えを返すことがあり、新しい応答とサイトの表示を比べればその疑いは消えます。
curl -s https://ifconfig.me
curl -s https://ipinfo.io/json
ルーターではなく端末から実行し、それぞれが返すアドレスと国を記録します。両方がVPNの国を返すのにサイトがまだ地元の都市を表示するなら、出口は原因ではなく、残る候補は許可、保存データ、漏えい経路です。
漏えい経路は三つ目の可能性です。独自のネットワークスタックを持つブラウザ拡張、サイトをトンネルの外へ送るsplit-tunnelルート、トンネルが運ばないIPv6経路。どれもリクエスト自体に見えるので、設定を変える前に出口の確認を行います。人々が見落とすのは独自のproxy設定を持つ拡張で、一つのタブだけトンネルを迂回できます。
第四段階:アカウントが保存済みのものを見る
許可を取り消しても、ブラウザの規則の下で今後のアクセスに影響するだけで、サービスがすでに保存した位置は消えません。保存された地元の都市、配送先住所、プロフィールの地域は、アプリが更新するまで残り、サイトは出口アドレスからおおよその推定を続けられます。
ブラウザのせいだと結論づける前に、サイト自身の位置情報コントロールを探してください。多くのアプリは自動推定をすべて上書きする手動の地域選択を保持しており、アカウント記録を読むサポート担当者は現在の接続ではなくその値を見ます。
保存された値が重要な場合は、アカウントで変更し、日付を記録します。古い都市が再び現れたときの二つ目のデータ点になります。変更前のアカウント画面のスクリーンショットは、変更後の説明より価値があります。
第五段階:一度に一つの変数だけ変える
決まった順序で試します。新しい出口確認、オリジンの許可、プラットフォームの許可、アカウント設定、その後に別のブラウザプロファイル。同時にいくつも変えると原因を特定できなくなり、五分で終わる答えが一週間の推測になります。
何を変え、その後ページが何を表示したかを記録します。表示がプライベートウィンドウだけで変わるなら原因は保存状態です。まったく変わらないなら、ページはIP推定か、ブラウザが影響できないアカウント値を使っています。前と後を同じメモに残してください。パターンこそが証拠です。
結論は正直に保ちます。VPNはリクエストが届くアドレスを変え、Geolocation APIはトンネルが触れない、許可を必要とする別の経路です。両方の事実は同時に成り立ち、混乱した報告の多くはこれを二者択一と扱うことから生まれます。