Фильтр по IP адресам через .htaccess
Ограничение доступа по IP позволяет быстро и безболезненно запретить или ограничить доступ к сайту определенным IP адресам или целым подсетям.
Фильтрация
Многим людям, в какие-то моменты жизни сайта, приходится прибегать к ограничению доступа или блокировки трафика по IP адресам. Ситуаций может быть масса: от блокировки паразитного трафика, и, до предоставления доступа определенным лицам.
Ограничение доступа
Средствами файла .htaccess можно ограничить доступ к ресурсам сайта по IP адресам; например, разрешить доступ к медиа-архиву только пользователям из локальной сети, или запретить какому-либо хосту или сети доступ к какому-либо контенту.
Синтаксис для этих директив таков:
Deny from all (или адрес хоста)
Allow from all (или адрес хоста)
Например:
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:
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 не проходят эту проверку и не получают доступа.
Более сложные применения:
Order Deny,Allow
Deny from all
</Files>
Вышеприведенное правило запретит любым хостам доступ к файлам с расширениями .txt и .dat (например, в них могут храниться внутренние данные скриптов).