Установка модуля 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";
?>

Ну, а теперь, наслаждаемся...

Если есть вопросы, то просим Вас посетить наш форум, на котором Вы сможете попросить бесплатно описание...



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов