Многим людям, в какие-то моменты жизни сайта, приходится прибегать к ограничению доступа или блокировки трафика по IP адресам. Ситуаций может быть масса: от блокировки паразитного трафика, и, до предоставления доступа определенным лицам.
Средствами файла .htaccess можно ограничить доступ к ресурсам сайта по IP адресам; например, разрешить доступ к медиа-архиву только пользователям из локальной сети, или запретить какому-либо хосту или сети доступ к какому-либо контенту.
Синтаксис для этих директив таков:
Order Deny,Allow (или Allow,Deny – в зависимости от того, что требуется)
Deny from all (или адрес хоста)
Allow from all (или адрес хоста)
Например:
Order Deny,Allow
Deny from all
Allow from 91.200.12.119
Allow from .diid
Allow from localhost.net
Данный код запретит доступ для всех, кроме сети 91.200.12.119, всех хостов, DNS имя которых содержит .diid, а также хоста, DNS имя которого localhost.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 не проходят эту проверку и не получают доступа.