Ограничение доступа по 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 (например, в них могут храниться внутренние данные скриптов).