Я хочу реализовать страновую веб-страницу. Если входящий запрос из США, я хочу, чтобы мой скрипт перенаправлял пользователя на usa.html; если из Аргентины, то в arg.html и так далее. Но я хочу, чтобы это было точно. Например, если пользователь подключается к Интернету с границы между Францией и Германией (скажем, он подключается из Франции), сценарий не должен перенаправлять его на germany.html, потому что провайдер пользователя находится на границе Франции. Дает ли GeoIP точные результаты в таких случаях?
Всегда ли сбываются методы класса PHP GeoIP?
Ответы (3)
Это никогда не будет на 100% точным.
Приведу пример. Я пользуюсь предоплаченным мобильным интернетом в своем ноутбуке от O2 Telefonica Slovakia. Их магистраль обслуживается в Чехии компанией O2 Telefonica Czech.
Всегда говорилось, что мой IP-адрес находится в Чехии, но меня там нет ;). Я знаю, что это мобильный интернет, а не DSL или какой-либо широкополосный доступ, но обратите внимание, что блок IP-адресов, предоставленный некоторым интернет-провайдерам, может быть разделен для большего количества стран, потому что его не нужно ограничивать границей страны. Многие интернет-провайдеры имеют общие блоки IP-адресов, потому что интернет-провайдер предоставляет одну и ту же услугу в большем количестве стран.
Тем не менее, если говорить о статических IP-адресах, да, они статические, и GeoIP должен сообщать о них правильно. Это основная причина, по которой maxmind каждый месяц обновляет свою базу данных.
GeoIP не точен, но не по той причине, по которой вы думаете. В GeoIP или других подобных сервисах нет ничего волшебного: это просто база данных, которая связывает диапазон IP-адресов с кодом страны. Они не знают, где находится пользователь.
это зависит от того, сколько вы платите за базу данных GeoIP.