Определение местоположения по IP-адресу
Бесплатный
Подходящие редакции:
Опубликовано: 07.02.2012
Обновлено: 24.06.2015
Версия: 1.1.5
Установлено: Более 1000 раз
Модуль для 1С-Битрикс: Определение местоположения по IP-адресу
Местоположение пользователя по его IP - адресу для России и Украины.
Твитнуть
Модуль получает местоположение пользователя по его IP, и сохраняет эти данные в сессии и cookies.
Для определения местоположения используется сервис IpGeoBase.
Если сервис IpGeoBase недоступен, модуль пытается получить данные от сервиса geoip.elib.ru.
Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины. Поиск IP адреса осуществляется с точностью до города.
К модулю прилагается простейший компонент, который выводит город и область, к которому принадлежит IP - адрес посетителя.
Для определения местоположения используется сервис 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.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 и автоопределение кодировки сайта |