
開咗 VPN 點解網站同裝置仲估到你喺邊?由 IP、GPS 到時區逐樣拆解
逐項睇清裝置、app 同網站分別攞到咩位置訊號
VPN 實際改咗咩
VPN 供應商成日講「隱藏位置」,聽落好似一撳掣,成部機就搬咗去另一個國家。VPN 最主要改嘅係對外公開 IP:網上流量先經 VPN server 出口,網站做 GeoIP 查詢時,通常會見到出口 server 所屬地區。你部機嘅 GPS、附近 Wi‑Fi、SIM、流動網絡、時區、語言同帳戶資料就冇跟住搬,裝置亦唔會因為換咗 IP 而忘記自己收到咩無線訊號。
XDA 部 Mac 點解突然「去咗德國」
XDA 作者 Adam Conway 話,佢身處愛爾蘭期間關閉 macOS Location Services,再睇系統記錄,發現 countryd 會參考附近 Wi‑Fi access point 經 802.11d 廣播嘅國家碼。佢附近較多網絡回報德國,系統失去較可靠嘅位置資料後,監管區域判斷一度變成德國。呢個係作者按個人記錄得出嘅結果,重點亦係 Apple 用邊套地區規則同無線電限制,唔代表普通網站可以跳過權限直接讀到同一份資料。
GPS、Wi‑Fi 同流動網絡各有自己一票
手機定位會混合 GPS、Bluetooth、附近 Wi‑Fi、流動網絡基站同感應器資料;Mac 冇 GPS,Location Services 主要靠附近 Wi‑Fi 估算。Wi‑Fi 呢度仲要分兩件事:位置服務可以按 access point 身分配對位置資料庫,而 XDA 個案講嘅 802.11d 國家碼就用嚟協助裝置遵守當地頻道同發射功率規則。VPN 只處理網上流量,兩類 Wi‑Fi 訊號都唔會經 VPN 隧道改寫。
SIM、時區同語言都會露出地區線索
SIM 本身帶有發卡網絡嘅 Mobile Country Code,Android 亦有 API 回傳 SIM 供應商國家同而家連緊嘅流動網絡國家;漫遊時兩者可以唔同。網站就可以用 JavaScript 讀到瀏覽器採用嘅時區同 locale,例如 Asia/Hong_Kong、zh-HK,毋須彈出 GPS 權限視窗。呢啲資料只係線索,但當 VPN IP 顯示美國,時區、語言、SIM 同登入紀錄全部指向另一處,服務自然有理由判斷資料唔一致。
裝置地區、商店地區同實際位置係三套設定
macOS 或 iPhone 嘅 Language & Region 主要控制語言、日期、貨幣同量度格式;Apple Account 國家地區就關乎付款方法、訂閱同商店內容。Android 嘅系統地區同 Google Play 國家亦要分開,Google Play 改區仲受所在地、付款方法同轉換次數限制。換 VPN 出口通常唔會改動呢啲帳戶資料,所以搜尋結果、時間格式、商店內容同個別 app 功能可以各自顯示唔同地區,未必係 VPN 壞咗。
網站要攞裝置定位,正常仍然要問你
網站經瀏覽器 Geolocation API 取得裝置位置時,要喺 HTTPS 環境運作,瀏覽器亦會要求定位權限;如果你以前已經撳過允許,權限可能仍然保留。拒絕定位後,網站依然睇到連線 IP,亦可以參考時區、語言、帳戶設定、cookie 同過往活動去估地區。結果可能準,亦可能只係一個推測,所以見到網站估中城市,唔好即刻當成佢暗中讀咗 GPS。
macOS、iPhone、Android 同瀏覽器點樣檢查
macOS 可去「System Settings → Privacy & Security → Location Services」睇 app 同 System Services 權限,再到「General → Language & Region」同「General → Date & Time」核對地區、時區;Safari 就去「Settings → Websites → Location」。iPhone 可睇「設定 → 私隱與保安 → 定位服務」,逐個 app 檢查精確位置,再到「一般 → 語言與地區」同「一般 → 日期與時間」。Apple Account 商店地區要另外喺 Media & Purchases 查,唔好當成定位掣亂改,訂閱、餘額同付款方法都可能受影響。
Android 選單名稱會按品牌有少少差異,一般可去「設定 → 位置 → App 定位權限」,再入「位置服務」檢查 Google Location Accuracy、Wi‑Fi scanning 同 Bluetooth scanning;語言同時區多數喺「設定 → 系統」。Chrome 仲有第二層網站權限:「Settings → Site settings → Location」,所以系統容許 Chrome 定位後,指定網站仍然可以獨立設成封鎖。排查地區錯誤時,順序睇 VPN 出口 IP、網站定位權限、系統時區與地區,最後先查帳戶同商店地區,通常好快會搵到邊層資料對唔上。
參考來源
- XDA Developers — Your VPN isn't hiding what country you're in — your devices have other ways of knowing, and none of them touch your IP — original report
- Apple:About privacy and Location Services — 核對 iPhone 定位會用 GPS、Wi‑Fi、Bluetooth 同流動網絡資料
- Apple:Control access to the location of your Mac — 核對 Mac Location Services 原理同設定路徑
- Google:Manage your Android device’s location settings — 核對 Android Location Accuracy、Wi‑Fi scanning、Bluetooth scanning 同 app 權限
- Android Developers:TelephonyManager API — 核對 SIM 國家同流動網絡國家碼相關 API
- MDN:Geolocation API — 核對網站裝置定位要 HTTPS 同用戶權限
- MDN:Intl.DateTimeFormat resolvedOptions — 核對網站可經 JavaScript 取得系統時區同 locale
- Google Play:How to change your Google Play country — 核對 Play 商店地區、付款方法同轉區限制
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







