Cách trang web xác định vị trí của bạn

Cơ sở kiến thức ProxyCompass

Cách trang web xác định vị trí của bạn

Trang web có thể ước tính vị trí từ địa chỉ IP, yêu cầu vị trí từ thiết bị hoặc dùng thông tin đã lưu từ lần truy cập trước. Nó cũng có thể hiển thị quốc gia bạn tự chọn. Các nguồn này mô tả những điều khác nhau: kết nối, thiết bị, tùy chọn và tài khoản đang dùng.

Khi chọn vị trí proxy, bạn chọn quốc gia cần cho IP mà trang web sẽ thấy. Trình duyệt vẫn gửi thông tin khác. Để hiểu kết quả trên một trang cụ thể, cần biết thông tin đó có nghĩa gì và đến trang bằng cách nào.

Khách hàng ở Ấn Độ chọn giày thể thao trong cửa hàng Đức qua proxy Đức. Cửa hàng thấy IP Đức cùng cookie, múi giờ và vị trí thiết bị được chia sẻ khi cho phép.

Vì sao IP Đức có thể mở cửa hàng dành cho Ấn Độ?

Hình dung khách hàng ở Ấn Độ mở cửa hàng trực tuyến qua proxy được liệt kê ở Đức. Trong ví dụ này, cửa hàng cũng nhận diện IP là Đức. Tuy vậy, bộ chọn quốc gia trên đầu trang vẫn ghi Ấn Độ và danh mục là danh mục dành cho khách ở Ấn Độ.

Trong lần truy cập trước, khách đã chọn Ấn Độ trong menu đó. Cửa hàng lưu lựa chọn và dùng lại khi khách quay về. Nó có hai thông tin hữu ích: yêu cầu hiện tại đến từ IP gắn với Đức và khách trước đây muốn mua cho thị trường Ấn Độ. Giữ thị trường đã chọn là hành vi có chủ ý của cửa hàng này.

Vì vậy, quốc gia IP và cửa hàng được chọn trả lời các câu hỏi khác nhau. Một bên nói về địa chỉ mà yêu cầu đến từ đó; bên kia điều khiển trải nghiệm mua sắm. Phân biệt tương tự áp dụng cho thành phố chọn trên trang thời tiết hoặc điểm đến nhập trong tìm kiếm khách sạn. Trang có thể hiển thị thông tin về một nơi mà không kết luận khách đang thực sự ở đó.

Thông tin nào đến trang web?

Máy chủ xử lý yêu cầu trang nhìn thấy IP của kết nối. Với yêu cầu qua proxy, đó là địa chỉ proxy dùng để kết nối đến dịch vụ. Dữ liệu định vị IP gắn địa chỉ đó với quốc gia hoặc khu vực. Chính trang web hoặc dịch vụ xử lý yêu cầu thay mặt nó có thể thực hiện tra cứu.

Yêu cầu còn có thể chứa ngôn ngữ ưu tiên và cookie đã lưu cho trang. Sau khi trang tải, JavaScript có thể đọc thêm cài đặt trình duyệt và yêu cầu vị trí thiết bị qua hệ thống cấp quyền của trình duyệt. Đăng nhập tạo liên kết khác với thông tin: trang có thể lấy chi tiết tài khoản đã lưu.

Thông tinNguồnTrang có thể dùng để làm gì
Quốc gia gắn với IPKết nối và dữ liệu định vị IP của trang.Chọn trang vùng ban đầu hoặc ước tính khu vực chung.
Vị trí thiết bịƯớc tính vị trí được yêu cầu từ trình duyệt khi có quyền.Tìm địa điểm gần đó hoặc đặt khách truy cập lên bản đồ.
Quốc gia hoặc thành phố đã lưuDữ liệu trang trong trình duyệt hoặc cài đặt lưu trên tài khoản.Khôi phục vùng được chọn trong lần truy cập trước.
Ngôn ngữ và múi giờCài đặt trình duyệt có thể lấy qua yêu cầu hoặc tập lệnh trang.Chọn ngôn ngữ được hỗ trợ và hiển thị giờ địa phương.
Địa chỉ giao hàng hoặc điểm tìm kiếmThông tin do khách hàng cung cấp.Kiểm tra khả năng giao hàng hoặc tìm trong khu vực yêu cầu.

Trang dùng thông tin cần cho tính năng của nó. Trang đơn giản có thể chỉ dựa vào IP, còn cửa hàng có tài khoản, danh mục vùng và lựa chọn giao hàng có lý do dùng nhiều nguồn. Không có yêu cầu mọi website phải thu thập mọi mục trong bảng.

Trang nhớ quốc gia đã chọn như thế nào?

Cookie là mẩu dữ liệu nhỏ mà trình duyệt lưu và gửi cùng yêu cầu tiếp theo đến trang tương ứng. Cookie có thể chứa trực tiếp tùy chọn quốc gia. Nó cũng có thể chứa mã định danh giúp máy chủ tìm phiên đã lưu và cài đặt của phiên. Vùng lưu trữ khác của trình duyệt như localStorage có thể giữ tùy chọn để tập lệnh trang đọc.

Đổi proxy làm thay đổi kết nối dùng cho yêu cầu sau. Nó không xóa những giá trị đã lưu. Trong ví dụ mua sắm, yêu cầu từ IP Đức có thể mang cùng cookie phiên như trước, cho phép cửa hàng lấy lại lựa chọn Ấn Độ.

Cài đặt tài khoản có thể được duy trì giữa các trình duyệt và thiết bị. Địa chỉ nhà, giao hàng hoặc vùng ưu tiên có thể được lưu trên máy chủ của trang. Khi đăng nhập, những chi tiết đó lại khả dụng. Xóa dữ liệu cục bộ của trang không xóa hồ sơ tài khoản.

Liên kết mở cũng có thể chọn vùng. Cửa hàng có thể có tên miền hoặc đường dẫn riêng cho từng thị trường. Theo liên kết đến cửa hàng Ấn Độ có thể mở ngay phiên bản đó. Trong trường hợp này, URL được chọn đã cho cửa hàng biết phiên bản bạn yêu cầu.

Hoạt động trước đây cũng có thể quan trọng. Ví dụ, Google mô tả việc dùng thông tin IP, vị trí thiết bị, địa chỉ nhà và nơi làm việc đã lưu cùng hoạt động trước đó khi ước tính vị trí phù hợp cho tìm kiếm. Điều này mô tả dịch vụ Google; không có nghĩa website bất kỳ đọc được toàn bộ lịch sử trình duyệt.

Trình duyệt chia sẻ vị trí thiết bị như thế nào?

Geolocation API là tính năng trình duyệt cho phép trang yêu cầu ước tính vị trí địa lý của thiết bị. Trên website công khai thông thường, nó có trong ngữ cảnh bảo mật, thường là HTTPS, và yêu cầu quyền vị trí. Kết quả gồm vĩ độ, kinh độ, ước tính độ chính xác và thời điểm lấy vị trí. Yêu cầu được cho phép có thể dùng vị trí đã lưu tạm nếu trang chấp nhận, nên mở bản đồ không nhất thiết tạo phép đo mới.

Trình duyệt và dịch vụ vị trí của thiết bị quyết định cách lấy ước tính. Nguồn có thể gồm GPS, mạng Wi-Fi gần đó, thông tin mạng di động và IP. Vì vậy, máy tính xách tay không có GPS cũng có thể cung cấp vị trí. API không yêu cầu một nguồn cụ thể hay báo nguồn cho trang. Không nên tự động gọi tọa độ trình duyệt trả về là tọa độ GPS hoặc vị trí vật lý chính xác.

Giả sử khách ở Ấn Độ cho cửa hàng lấy vị trí thiết bị và trình duyệt trả tọa độ ở Ấn Độ. Trang có thể gửi tọa độ qua proxy Đức đến cửa hàng. Khi đó, yêu cầu chứa hai thông tin khác nhau: nó đến từ IP Đức và nội dung có vị trí ở Ấn Độ. Proxy vận chuyển thông tin đó, không biến tọa độ được cấp thành tọa độ ở Đức.

Không nhất thiết có hộp hỏi quyền mới trong mỗi lần truy cập. Trình duyệt có thể vẫn giữ quyền hợp lệ đã cấp. Bạn có thể xem lại quyền vị trí của trang trong cài đặt trình duyệt; truy cập cũng có thể tùy thuộc quyền hệ điều hành cấp cho trình duyệt.

Từ chối quyền ngăn trang lấy vị trí mới qua API đó trong khi quyền vẫn bị từ chối. Ước tính theo IP và thông tin trang đã lưu vẫn là nguồn riêng. Điều này giải thích vì sao website vẫn có thể hiển thị vị trí dù bạn chưa cho phép yêu cầu vị trí thiết bị.

Ngôn ngữ và múi giờ cho trang biết gì?

Trình duyệt có thể gửi ngôn ngữ ưu tiên trong tiêu đề yêu cầu Accept-Language. Tập lệnh trang cũng có thể đọc tùy chọn ngôn ngữ. Những cài đặt này giúp trang chọn ngôn ngữ khách hiểu. Chúng không cần quyền dùng cho định vị thiết bị.

Trình duyệt tiếng Anh có thể vẫn dùng tiếng Anh khi chủ đi qua nhiều quốc gia hoặc dùng proxy Đức. Nếu cửa hàng Đức hỗ trợ tiếng Anh, nó có thể hiển thị tiếng Anh mà vẫn xem kết nối là từ Đức. Ngay cả tùy chọn như en-US cũng chỉ xác định biến thể ngôn ngữ, không phải vị trí đã xác minh ở Hoa Kỳ.

JavaScript cũng có thể đọc múi giờ trình duyệt cung cấp, chẳng hạn qua Intl.DateTimeFormat().resolvedOptions().timeZone. Website có thể dùng để hiển thị lịch hẹn theo giờ địa phương của khách. Giá trị thường phản ánh môi trường trình duyệt, có thể dùng múi giờ tự động hoặc được cấu hình thủ công.

Tên múi giờ và độ lệch UTC là các giá trị khác nhau. Độ lệch cho biết chênh lệch với UTC tại thời điểm cụ thể và có thể được nhiều quốc gia dùng chung. Không giá trị nào tự xác định vị trí vật lý của thiết bị. Website có thể so ngôn ngữ, múi giờ với thông tin khác, nhưng khác quốc gia proxy tự nó không chứng tỏ IP khác đã bị lộ.

Trang web có thể biết địa chỉ IP khác không?

Cài đặt proxy áp dụng cho lưu lượng trình duyệt gửi qua proxy đó; nó không xác định mọi kết nối từ trình duyệt hoặc thiết bị đều theo tuyến này. WebRTC, công nghệ trình duyệt dùng cho trao đổi âm thanh, video và dữ liệu thời gian thực, có thể tìm địa chỉ khi chuẩn bị kết nối. Nếu quy tắc trình duyệt và cấu hình mạng cho phép kiểm tra trực tiếp, chúng có thể tiết lộ IP công cộng khác, như địa chỉ kết nối internet của khách.

Kết quả tùy thuộc quy tắc riêng tư của trình duyệt và cấu hình mạng. WebRTC không phải cách phổ quát để mọi website lấy lại IP công cộng của khách. Địa chỉ cục bộ riêng như 192.168.1.10 cũng là phát hiện khác: cùng địa chỉ có thể tồn tại trong nhiều mạng cục bộ không liên quan nên không tự xác định quốc gia.

DNS đổi tên miền thành địa chỉ mạng. Phép thử DNS chuyên dụng có thể xác định bộ phân giải xử lý tra cứu. Quốc gia của bộ phân giải mô tả máy chủ đó, có thể xa cả khách lẫn proxy. Một số bộ phân giải còn gửi một phần IP của máy khách đã tạo yêu cầu DNS qua tính năng tùy chọn EDNS Client Subnet. Vì vậy, thấy bộ phân giải ở quốc gia khác và làm lộ thông tin mạng máy khách là các kết quả khác nhau.

Những cơ chế này liên quan thông tin mạng có sẵn ngoài yêu cầu trang thông thường. Cần tìm hiểu khi phép thử cho thấy địa chỉ công cộng không mong đợi hoặc dữ liệu mạng khác. Trang hiển thị sai ngôn ngữ chưa đủ xác định đã có kết nối như vậy.

Trang ưu tiên thông tin nào?

Câu trả lời tùy quyết định đang được đưa ra. Tính năng “gần tôi” trên bản đồ có thể dùng vị trí thiết bị được cho phép. Cửa hàng có thể giữ quốc gia khách quay lại đã chọn. Tính phí giao hàng cần đích đến của bưu kiện. Các tính năng có thể hoạt động trong cùng lần truy cập và dùng thông tin khác nhau.

Không có quy tắc chung rằng GPS luôn ưu tiên hơn IP, hoặc quốc gia tài khoản luôn ưu tiên hơn cả hai. Website quyết định nguồn nào có sẵn và phù hợp với từng tính năng. Nó có thể dùng một nguồn, dự phòng bằng nguồn khác hoặc so nhiều nguồn.

Thanh toán làm rõ sự khác biệt này. Khách có thể duyệt danh mục Đức rồi nhập địa chỉ giao hàng ở Ấn Độ. Cửa hàng có thể tính lại phí giao hàng, đổi sản phẩm có sẵn hoặc áp dụng quy tắc cho điểm đến đó. Ví dụ, Shopify mô tả địa chỉ giao hàng quyết định trải nghiệm thị trường cuối cùng của khách lúc thanh toán. Đây là quy tắc hệ thống thương mại, không phải phép đo mới về IP proxy.

Truy cập là quyết định khác. Dịch vụ có thể xác định đúng quốc gia nhưng vẫn từ chối thao tác vì quy tắc tài khoản, mạng hoặc khả dụng. Lời từ chối chung không cho biết thông tin nào gây ra nó. Bằng chứng liên quan là giải thích cụ thể dịch vụ đưa ra, không chỉ việc xuất hiện lời từ chối.

Làm sao biết điều gì ảnh hưởng kết quả?

Bắt đầu từ đúng tính năng đang kiểm tra: quốc gia gán cho kết nối, danh mục vùng, kết quả tìm kiếm gần đó, ngôn ngữ hay khả năng giao hàng. Mỗi tính năng có thể phụ thuộc thông tin khác. Để so sánh hữu ích, giữ nguyên IP proxy và địa chỉ trang trong khi đổi một điều kiện liên quan. Ghi địa chỉ dùng trong mỗi lần thử thay vì chỉ dựa vào cài đặt proxy không đổi; nếu không, cơ chế xoay có thể đổi IP cùng lúc với cài đặt bạn định thử.

  1. Xem cài đặt riêng của trang. Kiểm tra bộ chọn quốc gia, vùng tìm kiếm, nơi giao hàng và phiên bản vùng trong URL. Lựa chọn đang hiển thị có thể đã giải thích kết quả.
  2. So lần quay lại với phiên mới chưa đăng nhập. Hồ sơ thử riêng không có dữ liệu trang đã lưu giúp xem tác động của trạng thái lưu trước đó. Trước hết xác nhận hồ sơ dùng cùng IP proxy. Phiên riêng tư mới dùng dữ liệu trang tách khỏi duyệt thông thường, nhưng không tự đổi kết nối hoặc mọi cài đặt trình duyệt.
  3. Kiểm tra thay đổi sau đăng nhập. Nếu vùng trước quay lại cùng tài khoản, xem cài đặt vùng và địa chỉ. Hành vi này chỉ về thông tin liên quan tài khoản, dù không tiết lộ toàn bộ quá trình quyết định của trang.
  4. Xem lại vị trí thiết bị khi tính năng cần vị trí hiện tại. Kiểm tra quyền vị trí của trang và lời giải thích về nguồn ước tính vị trí. Kết quả gần đó và quốc gia giao hàng đã lưu cần các phép kiểm tra khác nhau.

Trong ví dụ mua sắm, chọn Đức trong menu quốc gia giải quyết tùy chọn cửa hàng đã lưu. Nếu tác vụ là giao đến Ấn Độ, điểm đến Ấn Độ vẫn quan trọng. Nếu trang gán rõ IP proxy cho quốc gia sai, câu hỏi lại là dữ liệu định vị của địa chỉ đó. Xác định kết quả cần thiết giúp bước tiếp theo cụ thể hơn.

Quay lại cơ sở kiến thức