Установка модуля GeoIP для Apache 1.х и 2.x
Теперь опять можно подправить файл httpd.conf, а точнее пункт в файле конфига "IfModule mod_geoip.c":
<IfModule mod_geoip.c> # Включаем модуль GeoIPEnable On # Указываем путь к БД (в доках говориться, что надо тока если местоположение БД нестандартное, но # какое считается стандартным - нигде не нашёл - потому на всякий случай указываю) - БД инсталлится вместе с # портом GeoIP. # Баз может быть и больше... Подгружаем все которые надо... GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat GeoIPDBFile /usr/local/share/GeoIP/GeoIPCity.dat GeoIPDBFile /usr/local/share/GeoIP/GeoIPOrg.dat # Следующая директива устанавливает где применяется модуль GeoIP (по крайней мере я так понял) - тока в # примечаниях apache (Notes), только в переменных окружения (Env) или везде (All - по дефолту): GeoIPOutput All # заставляет проверять БД GeoIP.dat чтобы определить, обновлялась ли БД # нужно чтобы не перезапускать апач при обновлении БД GeoIPFlags CheckCache ###### пример блокировки отдельных стран # Блокируем косоглазеньких - всё равно ничё не поймут SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry # Блокируем америкосов - тоже ничё не поймут, тупые слишком. SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry # Что мы, собствено, делаем по вышеуказанным правилам, # это должно быть в директории которую блокируем, т.е. внутри # <Directory "/usr/local/www/data"> # Deny from env=BlockCountry # </Directory> </IfModule>
Ну и можно изменить наш файлик отображения geoip.php (тестовый наш файлик):
<pre> <b>Откуда припёрся</b> <?php $country_code = apache_note("GEOIP_COUNTRY_CODE"); $region = apache_note("GEOIP_REGION"); $country_name = apache_note("GEOIP_COUNTRY_NAME"); $city = apache_note("GEOIP_CITY"); $connect_type = apache_note("GEOIP_NETSPEED"); $dma_code = apache_note("GEOIP_DMA_CODE"); $area_code = apache_note("GEOIP_AREA_CODE"); $latitude = apache_note("GEOIP_LATITUDE"); $longitude = apache_note("GEOIP_LONGITUDE"); $postal_code = apache_note("GEOIP_POSTAL_CODE"); $organization = apache_note("GEOIP_ORGANIZATION"); $isp = apache_note("GEOIP_ISP"); echo "Код страны: " . $country_code . "\n"; echo "Регион: " . $region . "\n"; echo "Имя страны: " . $country_name . "\n"; echo "Город: " . $city . "\n"; echo "Скорость: " . $connect_type . "\n"; echo "dma_code: " . $dma_code . "\n"; echo "area_code: " . $area_code . "\n"; echo "latitude: " . $latitude . "\n"; echo "longitude: " . $longitude . "\n"; echo "postal_code: " . $postal_code . "\n"; echo "Организация: " . $organization . "\n"; echo "Провайдер: " . $isp . "\n"; ?>
Ну, а теперь, наслаждаемся...
Если есть вопросы, то просим Вас посетить наш форум, на котором Вы сможете попросить бесплатно описание...
»
- Show full page
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Страница для печати