apache: аутентификация и авторизация #6: mod_authz_host
13 May 2008, 19:27, apache
Отдельное место среди всех авторизаторов занимает модуль mod_authz_host. При обработке запроса этот модуль вызывается раньше любых других модулей аутентификации/авторизации и используется для контроля доступа на основании данных о хосте клиента (имя хоста, адрес) и характеристик запроса (через переменные окружения). Этот модуль, пожалуй, наиболее часто используемый в Апаче для контроля доступа.
Работа модуля определяется директивами: Order
, Allow
, Deny
. Директива Order
определяет порядок проверки правил:
Order allow,deny
значит, что первыми будут проверятся правила allow (т.е. разрешающие), потом - правила deny (запрещающие). Если никаких правил нет - действие по умолчанию - запретить всем. Директива
Order deny,allow
значит наоборот. Первыми будут применяться правила deny, потом - allow. Действие по умолчанию - пускать всех. Директивы Allow
и Deny
задают правила для проверки:
# пускать всех клиентов из зоны .org
Allow from .org
# три идентичных правила: пускать из подсети 192.168
Allow from 192.168
Allow from 192.168.0.0/16
Allow from 192.168.0.0/255.255.0.0
# не пускать с такого ipv6-адреса
Deny from 2001:db8::a00:20ff:fea7:ccea
Правила проверяются до первого совпедния. Правило “совпало”, если правило соответствует информации о клиенте. Если правило совпало в цепочке allow - доступ разрешается, если в цепочке deny - запрещается.