Нужно определять город пользователя. Для десктопов с домашним интернетом использую
ipgeobase.ru (есть например и
https://2ip.ru/ ). Но если зайти с мобильного провайдера, то для маленьких городов эти определялки по IP часто врут. Показывают сервера ближайшего дата-центра оператора (обслуживающего интернет-трафик региональных городов), который обычно расположен в миллионниках. И город разумеется определяется неверно.
В паре проектов использовал
mobiledetect.net - но эта штука определяет тип устройства, а не тип интернет-подключения. Кто-нибудь сталкивался с подобной задачей? Сабж не гуглится совсем, или я не правильно формулирую запросы (хотя вроде не нуб в гуглении). Это можно сделать с помощью JS? Или с помощью PHP? Кидали мысль собрать диапазоны IP мобильных провайдеров, но где взять такую базу? Должно быть решение.. может есть сервисы, которые умеют готовить мобильных провайдеров?
UPD
Есть такая штука:
echo $_SERVER['REMOTE_ADDR'];
echo gethostbyaddr($_SERVER['REMOTE_ADDR']);
на мобильном интернете дает такой результат:
217.66.156.6
host-6-156-66-217.spbmts.ru
что является логичным продолжением поползновением в сторону узнавания типа провайдера. Но как узнать все мобильные хосты всех провайдеров? У того-же билайна есть и мобильный и домашний интернет. Поэтому в лоб писать проверять наличие подстроки "beeline" мы не можем, нужно именно собирать хосты. Вроде как в МСК и у МТС есть домашний интернет, что конечно затрудняет решение. Как быть?