Tuesday, October 17th, 2017

Модуль определения географического положения по IP — mod_GeoIP

Published on Март 30, 2009 by   ·   Один комментарий

Неплохой модуль для apache1.3 — по IP посетителя определяется
его страна, регион и город.

        /usr/home/lissyara/>
        /usr/home/lissyara/>cd /usr/ports/
        /usr/ports/>make search name='mod_geoip'

        Port:   mod_geoip-1.2.7
        Path:   /usr/ports/www/mod_geoip
        ...
        Port:   mod_geoip2-1.1.7
        Path:   /usr/ports/www/mod_geoip2

        /usr/ports/>cd /usr/ports/www/mod_geoip
        /usr/ports/www/mod_geoip/>make && make install && make clean

        /usr/ports/www/mod_geoip/>pkg_info | grep "[Gg]eo"
        GeoIP-1.3.14        Find the country that any IP address or hostname originates
        mod_geoip-1.2.7     An Apache module that provides the country code of the clie

Он за собой тащит собственно GeoIP — из него ему нужна БД. После
установки редактируем конфиг апача — раскомментруем модуль

mod_geoip:

/usr/local/etc/apache/httpd.conf

        LoadModule geoip_module       libexec/apache/mod_geoip.so
        AddModule mod_geoip.c

И добавляем такие строки:

        <IfModule mod_geoip.c>
        ##### модуль GeoIP начался
        #
        # Включаем модуль
        GeoIPEnable     On
        # Указываем путь к БД (в доках говориться, что
        # надо тока если местоположение БД нестандартное, но
        # какое считается стандартным - нигде не нашёл - потому
        # на всякий случай указываю) - БД инсталлится вместе с
        # портом GeoIP.
        GeoIPDBFile     /usr/local/share/GeoIP/GeoIP.dat
        # Следующая директива устанавливает где применяется модуль
        # GeoIP (по крайней мере я так понял) - тока в примечаниях apache (Notes),
        # только в переменных окружения (Env) или везде (All - по дефолту):
        GeoIPOutput     All
        # заставляет проверять БД GeoIP.dat чтобы определить, обновлялась ли БД
        # нужно чтобы не перезапускать апач при обновлении БД
<div style="display: none"><a href='http://buyglassesonline24.com/'>buy eye glasses online</a></div>        GeoIPFlags      CheckCache

        ###### пример блокировки отдельных стран
        # Блокируем косоглазеньких - всё равно ничё не поймут
        SetEnvIf        GEOIP_COUNTRY_CODE      CN      BlockCountry
        # Блокируем америкосов - тоже ничё не поймут, тупые слишком.
        SetEnvIf        GEOIP_COUNTRY_CODE      US      BlockCountry
        # Что мы, собствено, делаем по вышеуказанным правилам,
        # это должно быть в директории которую блокируем, т.е. внутри
        # <Directory "/usr/local/www/data">
        # ...............
        #Deny from env=BlockCountry
        # </Directory>
        </IfModule>

После чего перезапускаем апач, и пробуем, что у нас получилось, таким
скриптиком, на php:

        <pre>Откуда пришел:
        <?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");
        echo "Код страны: " . $country_code . "\n";
        echo "Регион:     " . $region . "\n";
        echo "Имя страны: " . $country_name . "\n";
        echo "Город:      " . $city . "\n";
        ?>
        </pre>

Вот его вывод, для московского IP:
Откуда пришел:
Код страны: RU
Регион:
Имя страны: Russian Federation
Город:

Если заходить с частного IP (192.168.x.x) то не покажет ничего :)
Почему не показал регион и город — я так думаю что нас считают страной
дикой, где кроме медведей, ядерных ракет, и людей в телогрейках и
шапках-ушанках ничего и нету… Кстати, в примерах, на сайте автора
модуля, был пример, как заблокировать доступ с региона RU. Я же в
ответ привёл примёр как залочить буржуев :)

P.S. Добавлено

zp8497586rq














Смотрите также:

Readers Comments (Один комментарий)

  1. Max:

    /usr/home/lissyara/>
    /usr/home/lissyara/>cd /usr/ports/
    /usr/ports/>make search name=’mod_geoip’

    Port: mod_geoip-1.2.7
    Path: /usr/ports/www/mod_geoip

    Port: mod_geoip2-1.1.7
    Path: /usr/ports/www/mod_geoip2

    /usr/ports/>cd /usr/ports/www/mod_geoip
    /usr/ports/www/mod_geoip/>make && make install && make clean

    /usr/ports/www/mod_geoip/>pkg_info | grep «[Gg]eo»
    GeoIP-1.3.14 Find the country that any IP address or hostname originates
    mod_geoip-1.2.7 An Apache module that provides the country code of the clie

    И што ета???? как отрыть ??? куда вставить не понял ничего ??? !!!

Comments are closed.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]