Как мне обслуживать контент веб-сайта на основе IP-адреса?

#php #location #ip-address

#php #Расположение #ip-адрес

Вопрос:

Я создаю веб-сайт, содержимое которого будет отличаться в зависимости от географического положения пользователя. Я хотел бы обслуживать определенные версии веб-сайта на основе местоположения пользователя, подобно тому, как это делается на веб-сайте Mutual of Omaha.

На мой взгляд, наиболее логичный способ сделать это — создать разные разделы веб-сайта для каждого географического местоположения. Есть ли простой способ сделать это?

Комментарии:

1. Пожалуйста, не делайте этого. IP-адреса предназначены для маршрутизации сетевого трафика и не позволяют надежно определить чье-либо местоположение. Кроме того, вы создаете потенциальный кошмар, если вы предоставляете клиентам разный контент по одному и тому же URL. (Как минимум, прочитайте Vary заголовок, но знайте, что это не всегда работает.) Обрабатывайте это на стороне клиента, предоставляя пользователям возможность указывать свое местоположение, если они захотят это сделать. Вы также можете использовать API геолокации.

2. Что вы уже пробовали? У вас уже есть какой-нибудь код для определения местоположения?

3. «Есть ли простой способ сделать это?» Что конкретно делать? Получить чей-то IP-адрес? Получить местоположение на основе IP-адреса? Обслуживать другой контент на основе какого-либо выполненного (или неудовлетворенного) условия? Неясно, с чем у вас возникли проблемы.

4. Для ip-геолокации вы можете использовать этот API: maxmind.com/en/open-source-data-and-api-for-ip-geolocation Вы можете получить страну пользователя, а затем перенаправить пользователя к соответствующему контенту.