Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.

МОДУЛЬ ДЛЯ 1С-БИТРИКС

Павел Шулаев

GeoIp Api

Начиная с версии 2.0.0 модуль поддерживает расширение без изменения исходного кода. Список геоинформационных служб и порядок их вызова формируются через событие onBuildServiceList. Вы можете подключать собственные службы из других модулей, зарегистрировав обработчик события и вернув полное имя класса службы. Модуль предоставляет API для определения местоположения по IP-адресу.

Технические данные

Опубликовано
10.12.2016
Обновлено
11.08.2026
Версия
2.0.1
Установлено
Более 1000 раз
Адаптивность
Да
Поддержка Композита
Да
Совместимо с Сайты24
Нет
Разработчик
Павел Шулаев

Что умеет решение

Начиная с версии 2.0.0 модуль поддерживает расширение без изменения исходного кода. Список геоинформационных служб и порядок их вызова формируются через событие onBuildServiceList. Вы можете подключать собственные службы из других модулей, зарегистрировав обработчик события и вернув полное имя класса службы.

Модуль предоставляет API для определения местоположения по IP-адресу. Если адрес не указан явно, используется текущий IP пользователя. Информация о последнем определенном адресе сохраняется в cookies для уменьшения количества запросов.

Выводимые данные о местоположении:

- название города;

- название страны на языке сайта;

- ISO-код страны;

- ID страны в CMS 1С-Битрикс;

- название региона;

- ISO-код региона;

- широта и долгота;

- название района (доступно только при использовании сторонних служб, подключенных через onBuildServiceList, встроенная служба Sypex это поле не заполняет);

- диапазон IP-адресов (доступно только при использовании сторонних служб, подключенных через onBuildServiceList, встроенная служба Sypex это поле не заполняет).

Модуль Rover GeoIP в стандартном режиме возвращает данные от первого сервиса, успешно предоставившего ответ. Список служб и порядок их вызова настраиваются через событие onBuildServiceList. Единственная встроенная служба — sypexgeo.net (Sypex) — подключена аналогичным образом и активна по умолчанию.

Службы ipgeobase.ru (IpGeoBase) и freegeoip.net (FreeGeoIp) исключены из модуля, так как данные сервисы прекратили работу и больше не предоставляют публичный API. Разработчики могут интегрировать собственные геоинформационные сервисы через событие onBuildServiceList без необходимости изменения исходного кода модуля.

Компоненты

Компонент rover:geoip.user.location определяет местоположение пользователей на основе IP-адреса при их первом посещении сайта. Доступ к компоненту имеют только администраторы. Для корректной работы требуется установленный модуль «Веб-аналитика».

Полная документация API и примеры использования доступны в репозитории проекта на GitHub.

Для задач, требующих расширенного функционала и более удобного пользовательского интерфейса с аналогичными возможностями, рекомендуется рассмотреть решение «Улучшенный выбор местоположения с определением по IP, замена контента в зависимости от города».

Модуль GeoIP API разработан Павлом Шулаевым.

General iT может установить «GeoIp Api», настроить параметры модуля и проверить его работу в существующем проекте.

ИСТОРИЯ ОБНОВЛЕНИЙ

Что нового

23 выпусков
2.0.1 (11.08.2026)Последнее обновление

— Список geoip-служб теперь строится через событие `onBuildServiceList` модуля `rover.geoip` вместо жёсткого сканирования каталога `lib/service/`.

— Встроенная служба (Sypex) регистрируется тем же событием — можно подключать собственные службы из других модулей без правки ядра модуля (см. README, раздел «Расширение списком служб»).

— `Service::build()` упрощён: принимает только полное имя класса службы (FQCN); поддержка короткого имени убрана.

— Удалены службы IpGeoBase (ipgeobase.ru) и FreeGeoIp (freegeoip.net) — оба сервиса прекратили работу, публичное api недоступно. Вместе с классами удалены неиспользуемые опции `ipgeobase-active` и `freegoip-active`. При необходимости их можно подключить как сторонние службы через `onBuildServiceList`.

— Исправлена рассинхронизация кэша `Location::getInstance()`: `reload($ip)` с явно указанным ip теперь обновляет `$this->ip` и переиндексирует внутренний кэш инстансов, чтобы повторный `getInstance()` по старому ip не возвращал объект с данными уже другого адреса.

— `Location::getData()` при ошибке пишет в поле `error` текст исключения вместо статичной строки `'error'` — упрощает диагностику.

— Все обращения к строкам локализации переведены с устаревшей `GetMessage()` на `\Bitrix\Main\Localization\Loc::getMessage()`.

— Минимальная требуемая версия php повышена до 8.1 — синхронизирована проверка при установке (`install/index.php`) с фактическим рантайм-гейтом модуля (`include.php`). Ранее проверка при установке пропускала php 7.2, хотя модуль уже не грузился на версиях ниже 8.1.

— Компонент `rover:geoip.user.location`: получение IP регистрации пользователя переведено с прямого SQL-запроса к таблице `b_stat_session` на D7 API (`\Bitrix\Statistic\SessionTable`); при отсутствии установленного модуля «Веб-аналитика» метод корректно возвращает `null` вместо запроса к несуществующей таблице.

— Компонент `rover:geoip.user.location`: добавлена проверка прав — просматривать и изменять данные пользователей может только администратор (`$USER->IsAdmin()`); иначе выбрасывается исключение с сообщением о нехватке прав.

— Исправлена ошибка при обновлении модуля.

1.5.2 (22.05.2025)

— исправлены найденные уязвимости

1.5.1 (06.02.2022)

— добавлена возможность задавать максимальное время ожидания от geoip-сервиса. По умолчанию 200 мс.

1.5.0 (13.10.2021)

— единственным сервисом для определения местоположения установлен Sypex (остальные на данный момент не работают)

— добавлена возможность подключаться к Sypex по ключу (при регистрации/подписке)

— время ожидания ответа сервиса сокращено с 2 до 0,2 секунд.

1.4.11 (03.06.2021)

— исправлены ошибки в преобразовании кодировки ответов для сайтов в windows-1251

— минимальная версия php повышена до 7.2

— рефакторинг

ИНФРАСТРУКТУРА ПРОЕКТА

Где будет работать твой сайт

ПЕРЕД ЗАКАЗОМ

Разберёмся в деталях.

Бесплатна ли установка?
Само решение распространяется бесплатно. Услуги по установке, настройке и доработке согласуются отдельно. Для работы нужна совместимая платформа и подходящая лицензия на неё.
Как проверить совместимость?
Сверь подходящие редакции и версию решения в технических данных с твоим проектом. Перед установкой на работающий сайт рекомендуем резервную копию и проверку в тестовой среде.
Поможете с внедрением?
Поможем установить модуль, проверить настройки и его работу в твоём проекте. Совместимость с другими доработками и объём работ оценим перед началом.

GENERAL iT

Обсудим твою задачу

Получатель: ООО «Дженерал Ай Ти Рус»

1C-BITRIX

Установить решение

Можно ввести домен с https:// или без. В новой вкладке откроется установщик в панели управления твоего сайта.

Скриншоты решения

Скриншот решения