.htaccess запрет доступа определенным клиентам к ресурсам
>В начале рассмотрим директиву Order файла .htaccess Apache сервера
Описание: Устатавливает порядок работы директив Deny и Allow
Order - в переводе порядок. Порядок может принимать значения [Deny , Allow] или [Allow , Deny].
Синтаксис - состояние по умолчанию:
>Директива Deny - в переводе запрет
Описание: Запрещает доступ определенных клиентов к ресурсам.
Синтаксис:
host может принимать значения IP адреса или имени хоста.
>Директива Allow - в переводе разрешить
Описание: Разрешает доступ определенных клиентов к ресурсам.
Синтаксис:
host может принимать значения IP адреса или имени хоста.
Пример: .htaccess запрет на доступ для всех
Код:
Order Deny,Allow
Deny from all
Пример: .htaccess _ разрешение _ на доступ для определенного IP адреса и хоста.
Код:
Order Deny,Allow
# запрет для всех на доступ к ресурсу
Deny from all
# разрешаем только следующим
Allow from local.
Allow from 100.99.99.1, 100.99.99.2
Пример: .htaccess _ запрет _ на доступ для пределенного IP адреса и хоста.
Код:
Order Allow,Deny
#разрешаем заходить на сервер всем
Allow from all
Deny from local.
Deny from 100.99.99.1, 100.99.99.2
Если нужно запретить всей сети 100.99.99.1 - 100.99.99.255 то ставим комбинацию первых лем: 100.99.99
>Директива Files файла .htaccess сервера Apache
Пример: запрет на доступ для определенного файла . В примере запрещается доступ к файлу с паролями .htpasswd для всех посетителей кроме 100.99.99.1 и 2
Код:
<Files ".htpasswd">
Order Deny,Allow
Deny from all
Allow from 100.99.99.1, 100.99.99.2
</Files>
В данном примере мы запретим пользователям с айпи-адресами (IP) 100.99.99.1, 100.99.99.2 заходить на ресурс используя метод GET для передачи данных браузером - .htaccess ip:
Код:
<Limit GET>
Order Allow,Deny
Deny from 100.99.99.1, 100.99.99.2
Allow from All
</Limit>
Мы запретили пользователю с IP адресом 100.99.99.1 смотреть сайт. Если вместо 100.99.99.1 написать 100.99.99, то доступ будет запрещен для всей сети класса C.
Еще один пример .htaccess: запрет на доступ для определенной группы файлов. В примере запрещается доступ к файлам с расширениями "lib" и "pm" для всех посетителей кроме 100.99.99.1
Код:
<FilesMatch "\.(lib|pm)$">
# или например : <FilesMatch "\.(gif|jpe?g|png)$">
Order Deny,Allow
Deny from all
Deny from 100.99.99.1
</FilesMatch>
В последем примере мы использовали регулярные выражении, правила и синтаксис применения которых рассмотрим в следующей статье.