Как заблокировать IP адрес пользователя в .htaccess

Если Вы не нашли подходящего раздела, для вопроса связанного с web строительством, то Вам сюда.
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Как заблокировать IP адрес пользователя в .htaccess

Сообщение Slash » Пн окт 10, 2016 7:47 pm

Порой требуется закрыть доступ к своему сайту некоторым пользователям. На то могут быть разные причины, возможно спам или нагрузка на сервер от излишней активности пользователя (скорее всего боты). Существуем не мало способов блокировки IP, одним из самых надежных вариантов, я считаю - это блокировка их в файле .htaccess. И сейчас я постараюсь рассказать, как это сделать.

И так, допустим, нам необходимо заблокировать вот такой IP: xx.xx.xx.xxx, конечно, вместо иксов должны быть цифры, но в качестве пример, пойдет. Делаем так:

Код: Выделить всё

# User IP Banning
<Limit GET POST>
    Order allow,deny
    Deny from xx
.xx.xx.xxx
    Allow from All
</Limit

Пример приведен с одним IP, чтобы заблокировать IP больше, просто, после строки:

Код: Выделить всё

    Deny from xx.xx.xx.xxx

Добавляем Deny from тут IP и так каждый IP с новой строки:

Код: Выделить всё

# User IP Banning
<Limit GET POST>
    
Order allow,deny
    Deny from xx
.xx.xx.xxx
    Deny from xx
.xx.xx.xxx
    Deny from xx
.xx.xx.xxx
    Deny from xx
.xx.xx.xxx
    Deny from xx
.xx.xx.xxx
    Allow from All
</Limit>  
Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Как заблокировать IP адрес пользователя в .htaccess

Сообщение Slash » Чт окт 13, 2016 8:13 am

Если есть необходимость заблокировать все IP адреса, которые начинаются одинаково, например:

Код: Выделить всё

38.99.82.191
38.99.82.192
38.99.82.193

То тут необязательно писать каждый IP отдельно, достаточно написать так:

Код: Выделить всё

38.99.82.

И все IP, что начинаются на 38.99.82. будут заблокированы. Обратите внимание на точку в конце, если точку убрать, то блокироваться будут IP такого вида: 38.99.82x.xxx, то есть Апач посчитает, что предпоследняя цифра написана не полностью.
Пример:

Код: Выделить всё

# User IP Banning
<Limit GET POST>
    
Order Allow,Deny
    Allow from all
    Deny from 38.99.82
.
    
Deny from 38.99.82
</Limit

Вернуться в «Прочее»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость