Как именно работает HTML5 GeoLocation?

81

Я знаю, что браузер передает мой IP-адрес и сведения о ближайших беспроводных сетях, чтобы определить мое местоположение, но какую информацию он знает о ближайших сетях Wi-Fi?

Например, там, где я живу, нет общедоступных беспроводных сетей, а из дома я вижу около 5 частных сетей, но мое местоположение определяется в пределах 20 метров. Если поблизости нет открытых сетей, как Google определяет мое местоположение? Единственный способ, о котором я могу думать, это то, что Google нанес на карту расположение всех беспроводных сетей, когда они наносили на карту улицы для просмотра улиц.

Я искал в Интернете, но не могу найти никаких конкретных деталей.

Дэн
источник
1
Это не HTML5 как таковой. См stackoverflow.com/questions/2248404/about-geolocation-in-html-5/...
MJV

Ответы:

69

Данные, отправляемые Firefox в Google, относятся ко всем видимым точкам доступа, общедоступным или частным . Для каждой обнаруженной точки доступа он отправляет следующие данные https://www.google.com/loc/json:

  "mac_address": "01-23-45-67-89-ab",
  "signal_strength": 8,
  "age": 0,
  "SSID": "MyAccessPoint"

где

  • mac_address - это MAC-адрес узла WiFi.
  • signal_strength - текущий уровень сигнала, измеренный в дБмВт.
  • age - количество миллисекунд с момента обнаружения узла WiFi.
  • SSID- это имя или ESSID узла WiFi.

Данные Wi-Fi с географической привязкой, используемые для геокодирования вашего запроса, были собраны, когда Google путешествовал, делая фотографии для StreetView .

Однако важно отметить, что именно так API геолокации HTML5 внедряется в Firefox с помощью служб геолокации Google. Это реализация, а не спецификация. Если ваше устройство имеет встроенный GPS, вероятно, желательно, чтобы ваша реализация HTML5 запрашивала GPS напрямую, а не с помощью службы геолокации.

Даже firefox по-разному реализует эту функцию в Windows и Linux. Используя текущий Firefox в Windows, сведения обо всех видимых узлах Wi-Fi отправляются в Google. При использовании текущего Firefox в Linux отправляются только сведения о подключенном в данный момент узле Wi-Fi из-за зависимости отlibiw данных точки доступа.

Как заметил другой респондент, Safari использует службу Skyhook Wireless , которая делает то же самое, что и службы определения местоположения Google.

fmark
источник
6

Данные собираются Skyhook Wireless (Википедия) , и они не делают различий между общедоступными и частными точками доступа Wi-Fi - они регистрируют местоположение всех из них. Я не удивлюсь, если фургоны Google Street View также будут регистрировать данные о местоположении точек доступа.

Ceejayoz
источник
3
Уличные автомобили Google регистрируют данные Wi-Fi - в настоящее время они исследуются в нескольких странах Европы и APAC на предмет этой практики, поскольку она потенциально нарушает законы о конфиденциальности.
slugster