Какое наиболее подходящее решение для определения страны, к которой принадлежит IP-адрес?

Кто-то рекомендовал cdn,

И точно ли он определяет, кому принадлежит IP-адрес?

Как это делается?

Есть ли лучшее решение?


person omg    schedule 20.09.2009    source источник
comment
В долларах США или CDN? Ха-ха! Я убиваю себя.   -  person womp    schedule 20.09.2009
comment
Не уверен, что вы подразумеваете под аппаратным cdn. Вы имеете в виду стоимость заключения контракта с коммерческим CDN, таким как akamai, для распространения вашего статического контента?   -  person Matt Wrock    schedule 20.09.2009


Ответы (4)


Попробуйте подключиться к сервису pidgets geoip (он использует базу данных maxmind)

http://geoip.pidgets.com

person Paul Tarjan    schedule 20.09.2009
comment
Я хочу сделать это программно. - person omg; 20.09.2009
comment
Инструкции о том, как сделать это программно, включены на этой странице. Фактический ответ представляет собой документ xml, который легко анализировать (вы также можете получить документ json, если хотите). - person Sean Reilly; 20.09.2009
comment
Выглядит хорошо, но написано: «Это не производственный сервис». Это всего лишь небольшой удобный сервис, который я создал для использования студентами Hack Days для временных небольших проектов. - person Magnus Smith; 06.03.2013

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

person Christian    schedule 20.09.2009
comment
Вы имеете в виду, какой стране принадлежит, какой диапазон IP-адресов является динамическим? - person omg; 20.09.2009
comment
Она не меняется изо дня в день, но может меняться из года в год. Только представьте, что открывается новый интернет-провайдер. Конечно, этому интернет-провайдеру нужны диапазоны IP-адресов, и поэтому база данных нуждается в обновлении. То же самое касается интернет-провайдера, которому требуется больше IP-адресов, чем у этого интернет-провайдера ранее. - person Christian; 20.09.2009
comment
Я думаю, что назначение внутри конкретной страны может быть изменено, но не для международного - person omg; 20.09.2009
comment
Ниже международного уровня у вас есть пять различных региональных сетевых карт, таких как ripe.net. уровень страны. - person Christian; 21.09.2009

Не уверен, какая связь между CDN и поиском ip/geo. Однако, если вы используете cdn для доставки контента, они будут предоставлять отчеты о том, откуда приходят пользователи. См. мой сообщение в блоге. для получения дополнительной информации о CDN.

Что касается поиска страны пользователя по его IP. Есть несколько способов сделать это. Это довольно аккуратно. Я бы, конечно, сказал, что это точно «достаточно». Если вы просто хотите найти страну нескольких IP-адресов. Зайдите на такой сайт, как dnsstuff.com, и у них есть онлайн-инструменты для этого. Если вы хотите сделать это программно, используйте такой сервис, как Maxmind или digital envoy. Maxmind - гораздо более дешевый вариант.

person Matt Wrock    schedule 20.09.2009
comment
Можно ли реализовать самостоятельно? - person omg; 20.09.2009

Вы можете сделать запрос GET к этому URL-адресу: https://api.teletext.io/api/v1/geo-ip, и он ответит некоторой информацией о стране в формате JSON.

Если вы хотите реализовать это самостоятельно: я настроил это с помощью AWS Cloudfront, Cloudfront добавляет заголовок (Cloudfront-Viewer-Country) к вашему запросу, прежде чем перенаправить его на исходный сервер, который вы можете использовать. Обязательно внесите заголовок в белый список в дистрибутиве Cloudfront.

person Marcel Panse    schedule 04.11.2015