В этом уроке мы покажем, как использовать файл .htaccess для блокирования IP-адреса. Это один из нескольких методов блокирования входящих к веб-серверу запросов. Другие методы включают блокирование IP-адресов на брандмауэре или в коде PHP и т.д. Есть много причин, по которым вам может понадобиться заблокировать IP-адрес. Это может быть кто-то или что-то, кто расходует или крадет ваши ресурсы, выполняя множество запросов к файлам на вашем сервере. Также кто-либо может отправлять спам на ваш веб-сайт. Независимо от причины, по которой необходимо заблокировать IP адрес, файл .htaccess приходит на помощь. Блокирование одного IP-адреса с .htaccess Структура .htaccess файла проста. В свой наиболее простой форме он выглядит следующим образом: order allow,deny deny from 1.23.45.67 allow from all Не забудьте заменить 1.23.45.67 на IP-адрес, который вы хотите заблокировать. Сначала устанавливаем директиву order для allow,deny. Затем указываем Apache, кому запрещать доступ (deny), после этого указываем, что всем остальным можно разрешать доступ (allow). На запросы, поступающие из запрещенных IP-адресов, будет дан ответ в виде HTTP заголовка 403 Access Denied. Блокирование нескольких IP-адресов с .htaccess Если есть несколько адресов, которые необходимо заблокировать, можно добавить строку для каждого адреса в .htaccess файле. Допустим, мы хотим заблокировать адреса 1.2.3.4 и 2.3.4.5, для этого нужно сделать следующее: order allow,deny deny from 1.2.3.4 deny from 2.3.4.5 allow from all Вы можете добавить любое количество адресов, просто следуйте вышеуказанному шаблону. Блокирование диапазона IP-адресов с .htaccess Если необходимо заблокировать диапазон адресов, можно сделать так: order allow,deny deny from 123.45.67. allow from all Обратите внимание, что в IP адресе нет последней цифры. При этом создается шаблон адресов. Теперь будут заблокированы все адреса от 123.45.67.0 до 123.45.67.255. Будьте аккуратны при установке шаблонов для блокирования, поскольку вы также можете блокировать обычных пользователей. Блокирование клиентов по доменному имени с .htaccess Чтобы блокировать клиентов, можно даже не использовать адреса, содержащие цифры. Вы можете указывать доменные имена и поддомены, чтобы блокировать пользователей. Если нужно заблокировать клиентов, чьи хосты заканчиваются на bad-isp-company.com, то можно сделать следующее: order allow,deny deny from bad-isp-company.com allow from all Это означает, что все потенциальные пользователи определенного Интернет провайдера будут заблокированы. |