NameOne.ru: Действительно недорогие домены и удобный сервис. Ru от 98 рублей! →

Фильтр по IP адресам через .htaccess

Ограничение доступа по IP позволяет быстро и безболезненно запретить или ограничить доступ к сайту определенным IP адресам или целым подсетям.

Фильтрация

Многим людям, в какие-то моменты жизни сайта, приходится прибегать к ограничению доступа или блокировки трафика по IP адресам. Ситуаций может быть масса: от блокировки паразитного трафика, и, до предоставления доступа определенным лицам.

Фильтрация по IP

Ограничение доступа

Средствами файла .htaccess можно ограничить доступ к ресурсам сайта по IP адресам; например, разрешить доступ к медиа-архиву только пользователям из локальной сети, или запретить какому-либо хосту или сети доступ к какому-либо контенту.

Синтаксис для этих директив таков:

Order Deny,Allow (или Allow,Deny – в зависимости от того, что требуется)
Deny from all (или адрес хоста)
Allow from all (или адрес хоста)

Например:

Order Deny,Allow
Deny from all
Allow from 192.168.0.
Allow from .localnet
Allow from admin.somewhere.in.the.net

Данный код запретит доступ для всех, кроме сети 192.168.0.0/24, всех хостов, DNS имя которых содержит .localnet, а также хоста, DNS имя которого admin.somewhere.in.the.net.

Если нужно запретить доступ группе хостов, используется Allow,Deny:

Order Allow,Deny
Allow from all
Deny from 192.168.1.
Deny from hackers.are.everywhere.in.the.net

Смысл предельно прост. Посредством Order определяется порядок обработки правил allow/deny; если мы возьмем второй пример, то сначала сервер обработает правило allow from all, а затем хосты, которые прошли это правило, подвергаются проверке правилом deny; при этом все хосты из сети 192.168.1.0/24 и хост hackers.are.everywhere.in.the.net не проходят эту проверку и не получают доступа.

Более сложные применения:

<FilesMatch "\.(txt|dat)$">
Order Deny,Allow
Deny from all
</Files>

Вышеприведенное правило запретит любым хостам доступ к файлам с расширениями .txt и .dat (например, в них могут храниться внутренние данные скриптов).