Как определить местоположение посетителя по IP-адресу на PHP
Для эффективного продвижения сайта часто, для статистики, возникает необходимость узнавать с какой страны или города пришел клиент. Как это сделать на своем сайте или интернет-магазине?
Существует несколько способов PHP скриптом определить примерное местоположение пользователя сайта по его IP адресу.
Определение местоположения ip адреса через сервис Sypex Geo
Sypex Geo – абсолютно бесплатный PHP модуль для определение местоположения посетителя сайта по его IP адресу. Этот модуль позволяет выдавать информацию о местоположении посетителя сайта – страна, регион, город, географические координаты, которые беруться из локальной базы данных в файле SxGeoCity.dat. База периодически обновляется и ее можно бесплатно скачать здесь.
Рабочий пример на phpРезультат:
Еще один рабочий пример SxGeo можно скачать в архиве здесь: SxGeo
Подключение и вызов:Определение местоположения ip адреса через сервис ip-api.com
IP Geolocation API – бесплатен для некоммерческого использования, ключ к API не требуется. Сервис передает данные в таких форматах как: JSON, XML, CSV, Newline, PHP (serialize) по GET-запросу.
Ограничения
Разрешается до 45 запросов в минуту с одного ip, если лимит будет превышен мы получим 429-ю ошибку. Если вы будете постоянно превышать указанный лимит то ваш IP адрес будет заблокирован на 1 час.
Рабочий пример на phpРезультат:
Определение местоположения ip адреса через сервис DaData.ru
Среди разделов сайта DaData.ru есть сервис «Город по IP-адресу», после регистрации по ключу можно получить детальную информацию о городе, в том числе почтовый индекс.
Бесплатно разрешается 10 000 запросов в сутки, максимум 20 запросов в секунду.
Рабочий пример на phpРезультат: