大家是否有想過,iOS 設備如果使用 VPN 連線時,既然是以 VPN 供應商的 IP 出去,那要如何定位呢?如果真的有緊急狀況需要使用的定位資訊的話,是否會是錯誤的資訊呢?
使用 VPN 如何定位?
iOS 系統的 App 在不使用外網的情況下,只能利用 VPN 供應商提供的地址載入離線地圖來定位,當設備取得目前的位址之後,WKWebView 會調用 JavaScript 定位函數並且傳入經緯度參數,以此方式來存取離線地圖上出現的定位點。
不過針對以上所描述的狀況,如果使用第三方地圖就會失效,因為在 VPN 環境下無法驗證地圖平台上所申請的密鑰和 iOS 自身所取得的設備定位,因此還是需要解決 iOS 在使用 VPN 時進行定位的問題。
利用無線定位
這是其中一種方式,因為每個無線存取點都擁有各自的 MAC 位址,當我們使用無線訊號時,在設備開啟無線訊號的情況下,就可以通過掃描並收集周圍無線存取點的訊號(並不需要連接上),取得它們的 MAC 的位址。
設備將這些能夠標識無線存取點的訊息發送到伺服器,並通過伺服器檢測出每個無線存取點的實際地理位置,同時結合每個訊號的強弱程度,以此來計算出設備的地理位置並且放回到設備中。
但是這裡面有個重要的問題,那就是需要提供位置的服務商不斷地去更新和補充自己的資料庫,藉以確保資料的準確性,畢竟無線存取點會有移動的可能。
我們如果使用 Surfshark VPN,就可以大大減少這樣的困擾,他擁有頂級的瀏覽和串流速度,可以即時的更新使用者的定位。同時還擁有絕對隱私的伺服器,這樣的好處在於不會泄漏自身的定位資訊。同時Surfshark VPN 也會取得所有適用於 iOS 設備的 VPN,解決了更換設備後 VPN 需要重新取得的問題。
利用基地台定位
每個基地台都會有一個識別代碼,行動設備可以通過這個識別代碼搜尋周圍接收到訊號的基地台及識別代碼,通過網際網路發送到蘋果的雲端伺服器,再由伺服器根據這些基地台的位置查詢、並計算出當前所處的位置,然後回傳至手機手機。蘋果也將一部分重要的基地台資訊提前儲存在 iOS 系統中,這樣即使是在沒有網路的環境下,也可以定位到使用者的位置。
除此之外,我們可以也可以嘗試使用 Surfshark VPN,它會獲取適用於所有 iOS 設備的 VPN,有相當多的伺服器遍布在 65 個國家,可以讓使用者連接到任何想要去的國家或者是地區。
總結
iOS 系統的使用者按照上面描述的兩種方法嘗試進行定位後,就可以不用擔心使用 VPN 後,無法定位到自己實際位置的問題,由於伺服器涉及到使用者的地理位置資訊等隱私資訊,所以 iOS 系統的 App 在第一次使用定位服務時,會要求使用者對此進行授權,系統也會記錄使用者的回應,之後再使用定位服務的時候,就不會出現要求授權訊息,當然使用者也可以手動在設定中修改權限,或者是刪除 App 後重新安裝再進行授權。