Как и Жиль, в прошлом я использовал для этого материал GeoIP от MaxMind, настроенный на расширение скорости PECL. Работает достаточно хорошо, но ...
Требование такого рода вещей обычно исходит от человека, который не понимает, что таким способом невозможно надежно определить местоположение посетителей. Очень важно, чтобы человек, просящий это, поощрялся к пониманию того, что это почти бесполезно. Типичная вещь, которая происходит с географическим местоположением в этом:
Клиент: я хочу иметь возможность ограничивать контент по IP
Dev: Вы знаете, что это невозможно сделать надежно?
Клиент: Ах да, но эта компания говорит, что они продадут мне что-то, что сделает это
Дев: Да, но он не точный, его легко обойти, и он обычно указывает на плохую бизнес-модель для интернет-контента
Клиент: Вы можете сделать это?
Dev: Что угодно ...
... Шесть месяцев спустя ...
Клиент: Некоторые из моих посетителей жаловались, что не видят мой контент, а некоторые плохие люди, которые не должны его видеть, смогли!
Dev: / мне пощечину
Оттуда только один шаг до "Могу ли я сделать это так, чтобы, когда пользователь щелкает правой кнопкой мыши в своем браузере, появлялся маленький значок с надписью , 'эти изображения принадлежат Idiot Inc.' ? "
Извините, очевидно, в циничном настроении сегодня!