Всегда ли сбываются методы класса PHP GeoIP?

Я хочу реализовать страновую веб-страницу. Если входящий запрос из США, я хочу, чтобы мой скрипт перенаправлял пользователя на usa.html; если из Аргентины, то в arg.html и так далее. Но я хочу, чтобы это было точно. Например, если пользователь подключается к Интернету с границы между Францией и Германией (скажем, он подключается из Франции), сценарий не должен перенаправлять его на germany.html, потому что провайдер пользователя находится на границе Франции. Дает ли GeoIP точные результаты в таких случаях?


person gzg    schedule 03.01.2012    source источник


Ответы (3)


Это никогда не будет на 100% точным.

Приведу пример. Я пользуюсь предоплаченным мобильным интернетом в своем ноутбуке от O2 Telefonica Slovakia. Их магистраль обслуживается в Чехии компанией O2 Telefonica Czech.

Всегда говорилось, что мой IP-адрес находится в Чехии, но меня там нет ;). Я знаю, что это мобильный интернет, а не DSL или какой-либо широкополосный доступ, но обратите внимание, что блок IP-адресов, предоставленный некоторым интернет-провайдерам, может быть разделен для большего количества стран, потому что его не нужно ограничивать границей страны. Многие интернет-провайдеры имеют общие блоки IP-адресов, потому что интернет-провайдер предоставляет одну и ту же услугу в большем количестве стран.

Тем не менее, если говорить о статических IP-адресах, да, они статические, и GeoIP должен сообщать о них правильно. Это основная причина, по которой maxmind каждый месяц обновляет свою базу данных.

person rkosegi    schedule 03.01.2012

GeoIP не точен, но не по той причине, по которой вы думаете. В GeoIP или других подобных сервисах нет ничего волшебного: это просто база данных, которая связывает диапазон IP-адресов с кодом страны. Они не знают, где находится пользователь.

person Álvaro González    schedule 03.01.2012
comment
Поэтому PHP использует статический диапазон IP-адресов. - person gzg; 03.01.2012
comment
Извините, это должен был быть вопрос. Согласно тому, что вы сказали, PHP использует заранее определенный диапазон IP-адресов, чтобы определить, где находится IP-адрес, я прав? - person gzg; 03.01.2012
comment
Не PHP. Это главный актив службы GeoIP: они составляют базу данных о том, какой IP-адрес принадлежит провайдеру, и продают эту информацию для заработка (или бесплатно предоставляют не очень актуальную версию). Вы используете PHP только для сопоставления IP-адреса вашего посетителя с базой данных. - person Álvaro González; 03.01.2012
comment
Я не знал, что GeoIP является независимой службой. Сейчас проверю, спасибо. - person gzg; 03.01.2012

это зависит от того, сколько вы платите за базу данных GeoIP.

person bart    schedule 03.01.2012