Запрет компам,арбузерам и ip

Discussion in 'Безопасность и Анонимность' started by TLS, 26 Jun 2008.

  1. Whirt

    Whirt Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    zyhtar, протев (с)
    .htaccess нормально справляется с поставленной задачей, поддерживает регулярные выражения, и много еще чего.

    если запрещенных браузеров несколько, то нужно использовать флаг [OR] (ИЛИ)
    Пример:
    Примечание: по дефолту, все условия считываются с флагом "И".

    Я дико извиняюсь, но это бред: что проверка USER_AGENT, (здесь нужна ИМЕННО регуляра, всех заипешься вписывать), что проверка IP - ТС просил явно по диапазону a.b.xxx.xxx, а не статик, как у тебя,
    т.е.
    извлекаем октеты a и b , и определяем их принадлежность к запрещенному диапазону)
     
  2. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    А у тебя не было такой ситуации что ты находишься там,что нет ни справочников ни книг?
     
  3. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Mozilla/4.0 RewriteRule ^.* - [F,L]
    мозила как гуляла по сайту так и гуляет.
     
  4. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    справночники и книги найти всегда можно если есть инет.

    Whirt

    естесвенно мона написать и лучше того что я накидал (*
    это я так просто чтобы тс ознакомился что мона сделать
     
  5. Whirt

    Whirt Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    Tls, а у тебя лиса случаем не 3я стоит? Там мозилла 5.0 юзер-агент, для справки.

    Щас я тебе дописываю уже твой скрипт))) Может и другим пригодится)
     
  6. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Может форумы закроешь Все раз по твоему есть гугл и справочники?
     
  7. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Лисы нет вообще никакой. гг И мозила 4.0 у меня лазиет а не 5.0. Как она мне надоела уже
     
  8. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Вот щас по ip ее шарахнул гг. Пока пропала. Но не надолго.
     
  9. Whirt

    Whirt Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    Вот держи кодес:
    PHP:
    <?
    /* IPADDR BanMask Filter Script by Whirt

                    __     __        __
         .--.--.--.|  |--.|__|.----.|  |_
         |  |  |  ||     ||  ||   _||   _|
         |________||__|__||__||__|  |____|

                    [Antichat.ru]


    // ваши бан-маски. синтаксис приведен ниже  //
    // XXX - все адреса диапазона текущего октета */
    $banmask[] = "87.XXX.XXX.XXX";
    $banmask[] = "166.66.XXX.XXX";
    $banmask[] = "157.150.123.XXX";
    $banmask[] = "137.112.10.17";


    function 
    check_deny($mask)
    {
     
    $idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$mask$ban_args);
     
    $idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$_SERVER["REMOTE_ADDR"], $ip_args);
     for(
    $x=1;$x<=4;$x++)
     {
     if ((
    $ban_args[$x] == $ip_args[$x]) || $ban_args[$x] == "XXX")
     return 
    "banned";
     return 
    "clear";
     }
    }
    foreach (
    $banmask as $key)
    {
     if (
    check_deny($key)=="banned")
     {
     
    header("HTTP/1.0 403 Forbidden"); die("<html><h1>403 - Forbidden</h1>You dont have access to this server</html>");
     }
    }

    ?>
    Вроде все учел, если что не так в коде - поправьте.
    З.Ы.
    Надеюсь, вопросов больше нет?

    ========
    UPD:
    ========


    TLS, / , это спецсимвол регулярок.
    Попробуй экранировать его:
    Code:
    RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Mozilla\/4.0 RewriteRule ^.* - [F,L]
    мозила как гуляла по сайту так и гуляет.
     
    #29 Whirt, 26 Jun 2008
    Last edited: 26 Jun 2008
  10. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    И че мне с этим делать?
     
  11. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    кидай на сервак, инклюдь в файлы, и юзай функцию которую написал Whirt.


    в поисковиках можно найти лишь 90% информации (*
     
  12. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    В логах указан ip 86.110.176.33

    Mozilla/4.0
     
  13. Whirt

    Whirt Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    ROFL одним словом))) Уже и скрипт написали тебе, пользуйся-нехочу)
    Короче: кладешь скрипт на сервер, прописываешь банмаски в скрипте по образцу, который я оставил в комментах,
    далее :
    в index.php твоем пишешь:
    Code:
    include("ipaddr_filter.php");
    
    Важное замечание:
    Необходимо инклюдить скрипт ДО ТОГО, как будут отосланы хедеры, т.е. любая информация а-ля всякие сообщения на экран, итд.
    В общем, в самом верху инклюдь, и все будет ок.
     
  14. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Вообщем скопировал Все в файл. Этот файл require ('userlog.php'); в самом верху. Ошибка-Белый экран.
     
  15. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    ребята не работает этот код. Белый экран и Все тут что бы я ни делал. Похоже экранизация помогла. Мозила пока пропала.
     
  16. Whirt

    Whirt Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    содержимое index.php в студию (с)

    UPD: код рабочий, я лично тестил)
     
  17. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    блииин..
    тс. то что написал вирт есть функция. ее вызвать нужно.
     
  18. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Хм ну не индекс же думаю мой виноват. С ним как раз Все в порядке,сайтег пашет как миленький и Все инклюдиццо нормально. Возможно при копировани появились лишние пробелы в коде,такое бывает у меня часто. Вроде убрал лишние пробелы но тоже самое. Файл бы выложить как нить но почему то на этом форуме ни че нельзя выкладывать
     
  19. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    ты функцию check_deny вызывал?
     
  20. TLS

    TLS New Member

    Joined:
    25 Dec 2007
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Сори чет я не понял... Каво надо вызывать и куда? ыы