VPN을 써도 웹사이트가 여전히 당신의 도시를 아는 이유
사이트는 브라우저 위치 권한과 공인 IP를 별개로 사용할 수 있습니다. 출처 권한, 운영체제 설정, 저장된 도시를 확인하세요.
화면에 도시를 띄우는 방식은 두 가지이며, 당신의 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는 터널이 건드리지 않는, 권한이 필요한 별도 통로입니다. 두 사실은 동시에 참일 수 있고, 혼란스러운 보고의 대부분은 이를 양자택일로 다루는 데서 생깁니다.