Методы обнаружения местоположения для IP-адресов

Что местоположение обнаруживают методы для IP-адресов?
Я знаю для взгляда на
$_SERVER['HTTP_ACCEPT_LANGUAGE'] (не точный, но главным образом полезный для обнаружения местоположения, например, если пользовательские французы набора диапазона IP к их браузеру затем это означает, что этот диапазон) принадлежит Франции
и
gethostbyaddr($_SERVER['REMOTE_ADDR']) (для взгляда высокоуровневого домена кода страны)
затем может быть к whois gethostbyaddr($_SERVER['REMOTE_ADDR'])
иногда:
$HTTP_USER_AGENT (Строка агента пользователя Firefox имеет код языка, не точный, но главным образом может использоваться для обнаружения местоположения),

Также я знаю, как получить часовой пояс, но он не работает в новых браузерах. Кроме того, существует проблема CSS, которая обнаруживает историю посетителя, она может использоваться для наблюдения то, что Google и страницы Википедии он посетил (google.co.uk, google.com.tr)

Но что относительно городов?

19
задан 6 revs, 3 users 62% 11 December 2017 в 04:43
поделиться

3 ответа

Вы не сможете сделать это без базы данных, которая сопоставляет IP-адреса с городами / странами / поставщиками. Существуют коммерческие предложения, такие как ip2location , которые вы можете использовать. Насколько мне известно, бесплатной альтернативы нет, поскольку поддержка такой базы данных IP - это довольно большая работа. Бесплатная альтернатива: GeoIP2

Обновление: Есть несколько вещей, которые позволят вам создать такую ​​базу данных, если вы потратите достаточно времени:

  1. Используйте базы данных, предоставленные региональные и местные реестры для поиска владельца IP.
  2. Многие интернет-провайдеры используют схему именования, которая позволяет вам определять местонахождение пользователя. Иногда вы можете даже прочитать название города в виде обычного текста, если выполняете обратный поиск в DNS. Иногда это более загадочно. Например, в настоящее время у меня есть p5dcf6c4a.dip.t-dialin.net, и я не подозреваю, что схема именования…
  3. Используйте traceroute. Если вы не можете определить местоположение пользователя, вы все равно можете узнать местоположение его восходящего канала
10
ответ дан 30 November 2019 в 04:36
поделиться

Существуют базы данных (некоторые из них не содержат charge), который можно использовать для преобразования IP-адресов в города:

например: http://www.maxmind.com/app/geolitecity

3
ответ дан 30 November 2019 в 04:36
поделиться

Одним из способов составления таких баз данных является информация whois. Например, чтобы определить местоположение 69.59.196.211:

fmark@home:~$ host 69.59.196.211 211.196.59.69.in-addr.arpa указатель доменного имени stackoverflow.com. fmark@home:~$ whois stackoverflow.com

Whois Server Version 2.0

Доменные имена в доменах .com и .net теперь могут быть зарегистрированы у многих различных конкурирующих регистраторов.

 

> Регистрант: stackoverflow.com llc
410 Clayton Ave El Cerrito, Калифорния 94530 Соединенные Штаты

 

Очевидно, что это не очень точно, поэтому предположительно используются более сложные методы.

0
ответ дан 30 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: