GeoIP: определение страны и города пользователя
+7 (343) 288-299-8
Дополнительные опции
Модуль позволяет определить местоположение посетителя (геолокация) по IP-адресу и получить информацию – страну, регион, город и др.
В модуль входят следующие сервисы для определения:
IP-API (API)
Страны: Все
Запрос в реальном времени, есть регистрация (платный (€13.3 в месяц) и бесплатный тариф (45 запросов в минуту)), без регистрации
IpBase (API)
Страны: Все
Запрос в реальном времени, есть регистрация (платный ($9.99 в месяц) и бесплатный тариф (150 запросов в месяц))
MaxMind (API, local DB)
Страны: Все
Есть платный (запрос в реальном времени, нужна регистрация) и бесплатный тариф (запрос через базу на сервере, нужна регистрация для получения ключа, для обновления базы используйте CRON задачу, файл cron есть в модуле)
/** * Запуск действий по расписанию, рекомендуется запускать раз в неделю * * Пример вызова: * 22 22 * * 3 /usr/bin/php /var/www/site.ru/www/cron/maxmind.php * Пример вызова с передачей php.ini * 22 22 * * 3 /usr/bin/php --php-ini /etc/php.ini /var/www/site.ru/www/cron/maxmind.php * Реальный путь на сервере к корневой директории сайта уточните в службе поддержки хостинга. */
* при первом запуске - запустите CRON задачу вручную для скачивания файла базы
DaData (API)
Страны: Россия
Есть платный и бесплатный тариф (запрос в реальном времени, нужна регистрация)
Яндекс Геокодер (API)
https://yandex.ru/map-constructor/location-tool/
Страны: Все
Есть платный (запрос в реальном времени, нужен API ключ) и бесплатный тариф (запрос в реальном времени, нужен API ключ / возможно без него)
Работает только с координатами и Geolocation API web браузера (если пользователь согласится предоставить свое местоположение)
$oGeoData = GeoIp_Controller::instance('yandex')->execute('60.6084,56.8497');
Google Геокодер (API)
https://developers-dot-devsite-v2-prod.appspot.com/maps/documentation/utils/geocoder/embed?hl=ru
Страны: Все
Есть платный (запрос в реальном времени, нужен API ключ) и бесплатный тариф (запрос в реальном времени, нужен API ключ)
Работает только с координатами и Geolocation API web браузера (если пользователь согласится предоставить свое местоположение)
$oGeoData = GeoIp_Controller::instance('google')->execute('60.6084,56.8497');
GeoIP (local DB)
https://www.php.net/manual/ru/book.geoip.php
Страны: Все
Не рекомендуемый вариант. Запрос через базу на сервере, нужно доступное расширение extension = geoip.so на хостинге
Sypex Geo (API, local DB)
Страны: Все
Есть платный (запрос в реальном времени, нужна регистрация) и бесплатный тариф (запрос в реальном времени, можно с регистрацией или без или работа через базу на сервере, для обновления базы используйте CRON задачу, файл cron есть в модуле)
/** * Запуск действий по расписанию, рекомендуется запускать раз в неделю * * Пример вызова: * 22 22 * * 3 /usr/bin/php /var/www/site.ru/www/cron/sypexgeo.php * Пример вызова с передачей php.ini * 22 22 * * 3 /usr/bin/php --php-ini /etc/php.ini /var/www/site.ru/www/cron/sypexgeo.php * Реальный путь на сервере к корневой директории сайта уточните в службе поддержки хостинга. */
* при первом запуске - запустите CRON задачу вручную для скачивания файла базы
Есть возможность указать адрес сервера API. Сервера расположены в разных странах и городах. Благодаря чему можно значительно уменьшить пинг (ping) до сервера, а соответственно и время доступа к API. В данный момент доступны 14 серверов.
IpGeoBase (local DB)
Страны: Россия, Украина
Запрос в реальном времени, без регистрации полностью бесплатно
Вывод данных на странице
Данные которые можно получить и вывести в макете, ТДС или php скрипте (с драйвером по умолчанию ipgeobase, настраивается в файле конфига /modules/geoip/config/driver.php)
$oGeoData = GeoIp_Controller::instance()->execute();
с определенным драйвером
$oGeoData = GeoIp_Controller::instance('maxmind')->execute();
- ip - текущий IP адрес
- city - наименование города
- region - наименование области
- district - наименование округа (не у всех сервисов)
- country - наименование страны
- country_iso - ISO код страны
- shop_country_id - id объекта HostCMS страны
- shop_country_location_id - id объекта HostCMS области
- shop_country_location_city_id - id объекта HostCMS города
- postcode - почтовый индекс (MegaPost, не у всех сервисов)
- isp - провайдер (не у всех сервисов)
- lat - широта
- lng - долгота
- fias - ФИАС (DaData)
- kladr - КЛАДР (MegaPost, DaData)
- host - доменное имя хоста
- useragent - user agent
- device - устройство (для версии 6.9.3 и выше)
- browser - браузер (для версии 6.9.3 и выше)
- os - опреационная система (для версии 6.9.3 и выше)
$oGeoData = GeoIp_Controller::instance()->execute(); if($oGeoData) { echo 'Ваша страна: ' . Core_Array::get($oGeoData, 'country', $oGeoData['country_iso']) . '<br />'; echo 'Ваша область: ' . Core_Array::get($oGeoData, 'region') . '<br />'; echo 'Ваш город: ' . Core_Array::get($oGeoData, 'city'); }
Данный модуль может работать с модулем "Кэширование" (редакция "Бизнес"), что значительно ускоряет определение и вывод информации или при недоступности сайта сервиса, уменьшает использование лимитов сервиса
На сайт "ходят" не только обычные посетители, но и поисковые боты, которые могут создавать много запросов к сайту и соответственно к сервису, для таких случаев модуль фильтрует запросы от поисковых ботов.
Вопросы (перед покупкой), предложения и поддержка/консультация (после покупки, нужна - версия модуля и HostCMS, адрес сайта, ключ модуля при покупке или номер лицензии HostCMS, дата приобретения модуля):
- telegram: @morozovpimnev (высокое время ответа при поддержке)
- whatsapp: +79122442150 (среднее время ответа при поддержке)
- Онлайн чат: jivo.chat (низкое время ответа при поддержке)
Вопросы (перед покупкой) и предложения:
- Email:
vasb@zbebmbicvzari.eh (поддержка не осуществляется) - Телефон: +7 (343) 288-299-8 (поддержка не осуществляется)
Подписаться на наш канал: t.me/morozovpimnev_n
Версия | Дата | Описание | Версия от | Версия до |
2.4 | 22.02.2024 | small fix | 7.0.7 | ∞ |
2.3 | 01.08.2023 | добавлена поддержка PHP >= 8 накопительное обновление и оптимизация | 7.0.0 | ∞ |
2.2 | 06.09.2022 | Добавлен драйвер IpWhois | 6.9.5 | ∞ |
2.1 | 05.05.2022 | Добавлен драйвер IpBase | 6.5.4 | ∞ |
2.0 | 29.09.2021 | улучшена совместимость с модулями "Улучшенный выбор города" и "MegaPost" Для драйвера ipGeoBase добавлена возможность работы через локальную базу на сервере (сервис больше не поддерживается и обновляется) bug fix |
6.5.4 | ∞ |
1.5 | 22.10.2020 | В возвращаемые данные добавлено: хост, user agent, device/browser/OS (для версии 6.9.3 и выше) | 6.5.4 | ∞ |
1.3 | 19.06.2020 | Добавлен драйвер DaData В возвращаемые данные добавлено: широта и долгота | 6.5.4 | ∞ |
1.2 | 18.05.2020 | Добавлен драйвер Геокодер Google Maps | 6.5.4 | ∞ |
1.2 | 12.05.2020 | Добавлен драйвер Геокодер Яндекс.Карт | 6.5.4 | ∞ |
1.1 | 07.05.2020 | Для драйвера Sypex Geo добавлена возможность работы через базу на сервере, для обновления базы используйте CRON задачу | 6.5.4 | ∞ |
1.0 | 05.05.2020 | IpGeoBase, Sypex Geo, ip-ipi, MaxMind, GeoIP | 6.5.4 | ∞ |