Выдано 137684 лицензии

Магазин приложений HostCMS

GeoIP: определение страны и города пользователя

GeoIP: определение страны и города пользователя

Цена: 2 000 ₽ Демо

Дополнительные опции

интегрируем любой сервис
час

От 50 до 100 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Модуль позволяет определить местоположение посетителя (геолокация) по IP-адресу и получить информацию – страну, регион, город и др.

В модуль входят следующие сервисы для определения:

IP-API (API)

https://ip-api.com/

Страны: Все

Запрос в реальном времени, есть регистрация (платный (€13.3 в месяц) и бесплатный тариф (45 запросов в минуту)), без регистрации

IpBase (API)

https://ipbase.com/

Страны: Все

Запрос в реальном времени, есть регистрация (платный ($9.99 в месяц) и бесплатный тариф (150 запросов в месяц))

MaxMind (API, local DB)

https://www.maxmind.com/

Страны: Все

Есть платный (запрос в реальном времени, нужна регистрация) и бесплатный тариф (запрос через базу на сервере, нужна регистрация для получения ключа, для обновления базы используйте 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)

https://dadata.ru

Страны: Россия

Есть платный и бесплатный тариф (запрос в реальном времени, нужна регистрация)

Яндекс Геокодер (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)

https://sypexgeo.net/

Страны: Все

Есть платный (запрос в реальном времени, нужна регистрация) и бесплатный тариф (запрос в реальном времени, можно с регистрацией или без или работа через базу на сервере, для обновления базы используйте CRON задачу, файл cron есть в модуле)

Проблемы с доступности local DB, работает только API
/**
 * Запуск действий по расписанию, рекомендуется запускать раз в неделю
 *
 * Пример вызова:
 * 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)

http://ipgeobase.ru/

Страны: Россия, Украина

Запрос в реальном времени, без регистрации полностью бесплатно

Сервис больше не существует и не поддерживается!

Вывод данных на странице

Данные которые можно получить и вывести в макете, ТДС или 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');
}

Данный модуль может работать с модулем "Кэширование" (редакция "Бизнес"), что значительно ускоряет определение и вывод информации или при недоступности сайта сервиса, уменьшает использование лимитов сервиса

На сайт "ходят" не только обычные посетители, но и поисковые боты, которые могут создавать много запросов к сайту и соответственно к сервису, для таких случаев модуль фильтрует запросы от поисковых ботов.

Любая local DB работает во много раз быстрее API (можно посмотреть на онлайн-демо) и не требует модуля "Кэширование", но требует знаний работы с CRON и сервером
Техническая поддержка/консультация и гарантированный доступ к обновлениям осуществляется в течение 6 месяцев со дня оплаты.

Вопросы (перед покупкой), предложения и поддержка/консультация (после покупки, нужна - версия модуля и HostCMS, адрес сайта, ключ модуля при покупке или номер лицензии HostCMS, дата приобретения модуля):

  • telegram: @morozovpimnev (высокое время ответа при поддержке)
  • whatsapp: +79122442150 (среднее время ответа при поддержке)
  • Онлайн чат: jivo.chat (низкое время ответа при поддержке)

Вопросы (перед покупкой) и предложения:

  • Email: vasb@zbebmbicvzari.eh (поддержка не осуществляется)
  • Телефон: +7 (343) 288-299-8 (поддержка не осуществляется)

Подписаться на наш канал: t.me/morozovpimnev_n

Версии модуля

Версия Дата Описание Версия от Версия до
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
Похожие