Не срабатывает запрет по ip в htaccess

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем mike1111, 8 янв 2013.

  1. mike1111

    mike1111 Создатель

    Регистр.:
    7 янв 2013
    Сообщения:
    18
    Симпатии:
    3
    Не хочется создавать новую тему, а вопрос всё тот же.
    Идет постоянное прощупывание сайта, с нелепыми запросами.
    В .htaccess прописал
    #Запрещаем доступ к сайту для методов GET, HEAD, POST с IP адресов AfriNIC, APNIC, LACNIC:

    <Limit GET HEAD POST>
    Order Deny,Allow
    # AfriNIC:
    Deny from 41 102 105 197
    # APNIC:
    Deny from 1 14 27 36 39
    Deny from 42.0.0.0/7
    Deny from 49
    Deny from 58.0.0.0/7
    Deny from 66.0.0.0/7
    Deny from 157.0.0.0/7
    Deny from 60.0.0.0/7
    и так далее, но всё равно слежение за сайтом показывает
    /view_document.php?page=schedule1 date: 08.01.2013 15:12:22 ip: 66.249.78.185
    /view_sale.php?id=54 date: 08.01.2013 15:23:28 ip: 157.55.32.96
    что с запрещенных ip заходят на сайт.
    Подскажите как блокировать известный ip.
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    184
    Симпатии:
    76
    Так нельзя. Если блокировать /8 сетку, то можно указать первый октет, но перечислять их через пробел нельзя. Странно, что 500 ошибку не показывает. Не скупимся и указываем полный синтаксис:

    Код:
    <Limit GET HEAD POST>
    Order Allow,Deny
    Allow from all
     
    # AfriNIC
    Deny from 41.0.0.0/8
    Deny from 102.0.0.0/8
    Deny from 105.0.0.0/8
    Deny from 197.0.0.0/8
     
    # APNIC
    Deny from 42.0.0.0/7
    Deny from 58.0.0.0/7
    Deny from 66.0.0.0/7
    Deny from 157.0.0.0/7
    Deny from 60.0.0.0/7
     
    # Это то же самое, что Deny from 49.0.0.0/8
    # но лучше полный адрес сети
    Deny from 49
    </LIMIT>
    Чтобы не путаться, лучше указывать полные адреса сеток.
     
  3. mike1111

    mike1111 Создатель

    Регистр.:
    7 янв 2013
    Сообщения:
    18
    Симпатии:
    3
    Спасибо всем, может этот метод записи .htaccess устарел, вот нашел
    и ещё
    Хорошо, попробую полный адрес, если получится сообщу.

    За сутки пару раз всё равно заходили с американскими ip,
    я конечно понимаю что это наши доморощенные хакеры
    или боты, через прокси сервера работают, но почему
    не перекрывает полностью доступ к сайту .htaccess
    У кого есть мысли по этому поводу?
     
  4. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Мысли есть: попробуй вместо LIMIT указать путь к каталогу или к конкретным файлам по маске.

    Например:
    Код:
    <Files Settings*.php>
      Order Allow,Deny
      Deny from 157.0.0.0/7
      Deny from 60.0.0.0/7
    </Files>

    Или так:
    Код:
    <Directory "/home/webadmin/site.ru/html">
      Order Allow,Deny
      Deny from 157.0.0.0/7
      Deny from 60.0.0.0/7
    </Directory>

    А вообще если ты точно уверен, что с этих ИП юзеры не нужны, используй iptables:
    Код:
    iptables -A INPUT -s 157.0.0.0/255.0.0.0 -j DROP
    iptables -A INPUT -s 60.0.0.0/255.0.0.0 -j DROP
    
    Подробности в мане.
     
  5. mike1111

    mike1111 Создатель

    Регистр.:
    7 янв 2013
    Сообщения:
    18
    Симпатии:
    3
    Почитал про iptable, выяснил, что это только для Линукс, ау меня Винда.

    Помогла вот такая комбинация, без всяких Limit
    Код:
    #Запрет доступа к сайту с IP 
    Order allow,deny
    allow from all
    Deny from 66
    Deny from 157
    Deny from 178.210.65.38
    Allow from all
    Deny from env=bad_bot