Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Определение местоположения по IP-адресу
Бесплатный
Установить
Опубликовано: 07.02.2012
Обновлено: 02.09.2016
Версия: 1.1.7
Установлено: Более 1000 раз

Модуль для 1С-Битрикс: Определение местоположения по IP-адресу

Местоположение пользователя по его IP - адресу для России и Украины.
 
Обратите внимание!
Все модули устанавливаются и обновляются только на активные лицензии 1С-Битрикс: Управление сайтом. Узнать про лицензии можно на странице продление лицензии 1С-Битрикс.
Модуль получает местоположение пользователя по его IP, и сохраняет эти данные в сессии и cookies.
Для определения местоположения используется сервис IpGeoBase.
Если сервис IpGeoBase недоступен, модуль пытается получить данные от сервиса geoip.elib.ru.

Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины. Поиск IP адреса осуществляется с точностью до города.

К модулю прилагается простейший компонент, который выводит город и область, к которому принадлежит IP - адрес посетителя.


Модуль получает местоположение пользователя по его IP, и сохраняет эти данные в cookies.

Для разработчиков: данные хранятся виде сериализованного массива в переменной куки ПРЕФИКС_GEOIP, и в виде обычного массива - в $_SESSION[GEOIP]

Получить данные можно так:
if(CModule::IncludeModule("altasib.geoip"))
{
$arData = ALX_GeoIP::GetAddr();
print_r($arData);
}

Работает примерно так: при первом запросе местоположения, модуль запрашивает данные с сервиса, сохраняет полученные результаты в сессии и cookies. При следующих запросах, данные берутся из сессии.

Использование cookies нужно для того, чтобы если пользователь уже заходил на сайт и для него было определено местоположение, то при повторном заходе модулю не требовалось опять получать данные. При этом модуль сравнивает предыдущий IP-адрес (который сохранился в куках) и текущий - на тот случай, если у посетителя вдруг изменилось местоположение (переехал в другой город).

Сохранение результатов в сессии и куках позволяет максимально минимизировать количество запросов к сервису и сохранять работоспособность для большинства посетителей даже в случаях, когда сервис определения местоположения недоступен.

Если у вас возникли вопросы по работе модуля, вы можете задать их нам в техподдержку: Техподдержка модулей для 1С-Битрикс
1.1.8- Добавлена возможность явного указания ip адреса в методе ALX_GeoIP::GetAddr($ip_address). - Добавлена альтернатива получения данных с сервисов, если нет cURL. - Исправлен механизм сохранения данных в cookies и сессии.
1.1.7- Внесены изменения в соответствии с новыми требованиями сервиса geoip.elib.ru - обязательная регистрация после 1 ноября 2015 года и получение уникального кода для каждого сайта.
1.1.6- Удаление ненужного логгирования работы модуля.
1.1.5- Демонстрационный компонент теперь поддерживает технологию "композит"
1.1.4- Переработано обращение к сервису http://geoip.elib.ru/ (добавлено ограничение ожидания)
1.1.3 - Исправлен адрес запроса данных об адресе на новый
1.1.2 - Исправлена ошибка сохранения предыдущего IP-адреса посетителя в cookie - Добавлена проверка на наличие функции cURL, необходимой для работы модуля
1.1.1 - Доработан функционал получения IP пользователя
1.1.0 - Время ожидания ответа сервиса уменьшено до 1 секунды - Добавлен функционал работы с дополнительным сервисом geoip.elib.ru - При неудачной попытке получить данные от сервиса ipgeobase.ru модуль делает запрос к сервису geoip.elib.ru
1.0.2 - Добавлено ограничение времени ожидания ответа сервера, незначительные изменения кода
1.0.1 - Добавлена поддержка utf-8 и автоопределение кодировки сайта

Пример работы компонента:

Назад в раздел
Ваше местоположение:


Пример запроса на PHP:

if(CModule::IncludeModule("altasib.geoip"))
{
$arData = ALX_GeoIP::GetAddr();
print_r($arData);
}


Возвращаемый код:

Array
(
    [message] => Not found
)