Первоначальный вопрос остается актуальным для многих; сейчас конец 2016).
Мой ответ после многолетнего опыта работы с GEO выглядит следующим образом ...
Реальная информация о местонахождении за пределами "Страна" ненадежна. Вся информация берется из регистрации IP # ISP, и именно эта актуальная информация регулярно обновляется и передается основными поставщиками данных. По мере того как IP-адреса отбрасываются или покупаются, поставщики должны получить подробную информацию о регистрации / изменениях соответствующих предприятий (например, интернет-провайдеров). Большинство чисел получаются в «блоках», но не все обязательно относятся к одному и тому же серверу.
* Многие (если не большинство?) Небольших частных сайтов, предоставляющих информацию для общественности, используют БЕСПЛАТНУЮ базу данных "Maxmind" и (ненадлежащим образом) передают ее общественности; прочитайте предостережения Maxmind. Небольшие сайты не имеют ресурсов для постоянного обновления регистрации полномочий.
Бесплатные базы данных maxmind и "ip2location" - это меньшая часть их платных баз данных; см. их предостережения для объяснения того, чего не хватает.
Многие IP-адреса, купленные в блоках, являются общими для любого количества серверов, что приводит к неоднозначности информации. При использовании беспроводного сетевого подключения к Интернет-провайдеру, в отличие от, вероятно, стабильного проводного ADSL / кабельного / бла-подключения, ошибка может быть весьма поразительной из-за особенно широкого размещения сетевых серверов ISP (ретрансляция); в большинстве случаев нестатическое изменение между сеансами и, возможно, даже некоторые во время каждого сеанса.
Например, при использовании роумингового беспроводного адаптера ноутбука для подключения к Интернет-провайдеру меня часто называют другим государством, и это может быть (здесь, в АС) от сотен до тысяч километров от моего фактического местоположения.
Можете ли вы ... с PHP ?
Используя основную пару поставщиков БД (т.е. ip2location.com), у каждого будет доступ к доступным серверным сценариям, которые можно использовать для получения необходимой информации. И вместо менее надежной бесплатной БД из них я использую DB1 ip2location, чтобы получить только «страну» для посетителей, из которой я могу делать то, что хочу, как через Perl, так и через PHP.
Я также АВТОМАТИЧЕСКИ загружаю и распаковываю, согласно предостережениям, двоичный БД на ежемесячной основе сразу после его обновления. Очевидно, что доступ к поискам с собственного сайта устраняет проблемы с удаленным сбором и обработкой по требованию.
Для моих требований ip2location FULL db был значительно дешевле, чем Maxmind в год. * Однако база данных Maxmind FREE более обширна, чем база данных ip2location FREE.
Обратите внимание, что при попытке получить у посетителей дополнительный адрес, информацию о состоянии и т. Д. Я настоятельно рекомендую, чтобы он отображался таким образом, чтобы посетитель мог внести исправления; чтобы они не расстроились.
Привет.