<-
Apache > HTTP Server > Documentation > Version 2.0 > Modules

Apache Модуль mod_access

Description: обеспечивает контроль доступа, основанный на клиенте hostname, IP адресе, или других особенностях запроса клиента.
Status: основа
Module Identifier: access_module
Source File: mod_access.c
Compatibility: доступный только в версиях до 2.1

резюме

директивы, обеспеченные mod_access используются в <Directory> , <Files> , и <Location> секции так же как .htaccess файлы, чтобы управлять доступом к специфическим частям сервера. Доступом можно управлять основанный на клиенте hostname, IP адресе, или других особенностях запроса клиента, как захвачено в environment variables . Allow и Deny директивы используются, чтобы определить, какие клиенты являются или не разрешаются доступ к серверу, в то время как Order директива устанавливает государство доступа по умолчанию, и формирует как Allow и Deny директивы взаимодействуют с друг другом.

и ограничения доступа на основе хозяина и установление подлинности на основе пароля могут быть осуществлены одновременно. В том случае, Satisfy директива используется, чтобы определить, как два набора ограничений взаимодействуют.

вообще, директивы ограничения доступа обращаются ко всем методам доступа ( GET , PUT , POST , и т.д). Это - желательное поведение в большинстве случаев. Однако, возможно ограничить некоторые методы, оставляя другие неограниченные методы, прилагая директивы в a <Limit> секция.

директивы

см. также

top

Allow Directive

Description: средства управления, какие хозяева могут получить доступ к области сервера
Syntax: Allow from all| host |env= env-variable [ host |env= env-variable ] ...
Context: справочник, .htaccess
Override: предел
Status: основа
Module: mod_access

Allow директива затрагивает, какие хозяева могут получить доступ к области сервера. Доступом можно управлять hostname, IP Адресом, IP диапазоном Адреса, или в соответствии с другими особенностями запроса клиента, захваченного в переменных окружающей среды.

первый аргумент этой директиве - всегда from . последующие аргументы могут принять три различных формы. Если Allow from all определен, тогда всем хозяевам разрешают доступ, подчиненный конфигурации Deny и Order директивы как обсуждено ниже. Позволять только специфическим хозяевам или группам хозяев получать доступ к серверу, хозяин может быть определен в любом из следующих форматов:

(частичное) название области

Example:

Allow from apache.org
Allow from .net example.edu

хозяевам, названия которых соответствуют, или конец в, эта вереница, разрешают доступ. Только полные компоненты подобраны, таким образом вышеупомянутый пример будет соответствовать foo.apache.org но это не будет соответствовать fooapache.org . эта конфигурация заставит Apacheа выполнять двойной обратный поиск DNS на адресе IP клиента, независимо от урегулирования HostnameLookups директива. Это сделает обратный поиск DNS на IP адресе, чтобы найти связанный hostname, и затем сделать передовой поиск на hostname, чтобы уверить, что это соответствует оригинальному IP адресу. Только если передовые и обратные DNS последовательны, и спички hostname получат доступ позволяться.

полный IP адрес

Example:

Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205

IP адрес хозяина позволил доступ

частичный IP адрес

Example:

Allow from 10.1
Allow from 10 172.20 192.168.2

первые 1 - 3 байта IP адреса, для ограничения подсети.

network/netmask пара

Example:

Allow from 10.1.0.0/255.255.0.0

сеть a.b.c.d, и netmask w.x.y.z. Для более мелкозернистого ограничения подсети.

network/nnn CIDR спецификация

Example:

Allow from 10.1.0.0/16

подобный предыдущему случаю, кроме netmask состоит из nnn старшего 1 бита.

отметить что последние три примера выше состязания точно тот же самый набор хозяев.

адреса IPv6 и подсети IPv6 могут быть определены как показано ниже:

Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10

третий формат аргументов Allow директива позволяет доступ к серверу управляться основанный на существовании environment variable . когда Allow from env= env-variable определен, тогда запросу позволяют доступ если переменная окружающей среды огибающая переменная существует. Сервер обеспечивает способность установить переменные окружающей среды гибким способом, основанным на особенностях запроса клиента, используя директивы, обеспеченные mod_setenvif . поэтому, эта директива может использоваться, чтобы позволить доступ, основанный на таких факторах как клиенты User-Agent (тип браузера), Referer , или другие HTTP просят области удара головой.

Example:

SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from env=let_me_in
</Directory>

в этом случае, браузеры с начинающейся вереницей пользовательского агента KnockKnock/2.0 будут позволять доступу, и всем другим будут отказывать.

top

Deny Directive

Description: средства управления, какие хозяева являются лишенными доступа к серверу
Syntax: Deny from all| host |env= env-variable [ host |env= env-variable ] ...
Context: справочник, .htaccess
Override: предел
Status: основа
Module: mod_access

эта директива позволяет доступ к серверу быть ограниченным основанный на hostname, IP адресе, или переменных окружающей среды. Аргументы за Deny директива идентична аргументам за Allow директива.

top

Order Directive

Description: управляет государством доступа по умолчанию и заказом в который Allow и Deny оценены.
Syntax: Order ordering
Default: Order Deny,Allow
Context: справочник, .htaccess
Override: предел
Status: основа
Module: mod_access

Order директива управляет государством доступа по умолчанию и заказом в который Allow и Deny директивы оценены. заказ является одним из

Deny,Allow
Deny директивы оценены перед Allow директивы. Доступ позволяется по умолчанию. Любой клиент, который не соответствует a Deny директива или действительно соответствует Allow директиве будут позволять доступ к серверу.
Allow,Deny
Allow директивы оценены перед Deny директивы. Доступ отрицается по умолчанию. Любой клиент, который не соответствует Allow директива или действительно соответствует a Deny директива будет лишена доступа к серверу.
Mutual-failure
только те хозяева, которые появляются на Allow список и не появляется на Deny списку предоставляют доступ. Этот заказ имеет тот же самый эффект как Order Allow,Deny и осуждается в пользу той конфигурации.

ключевые слова могут только быть отделены запятой; никакой whitespace позволяется между ними. Отметьте это во всех случаях каждый Allow и Deny утверждение оценено.

в следующем примере, все хозяева в apache.org область позволяются доступ; все другие хозяева лишены доступа.

Order Deny,Allow
Deny from all
Allow from apache.org

в следующем примере, все хозяева в apache.org области позволяют доступ, за исключением хозяев, которые находятся в foo.apache.org подобласть, кто лишен доступа. Все хозяева не в apache.org область лишена доступа, потому что государство по умолчанию должно отрицать доступ к серверу.

Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org

с другой стороны, если Order в последнем примере изменен на Deny,Allow , всем хозяевам будут разрешать доступ. Это случается потому что, независимо от фактического заказа директив в файле конфигурации, Allow from apache.org будет оценен последний и отвергнет Deny from foo.apache.org . все хозяева не в apache.org области будут также позволять доступ, потому что государство по умолчанию изменится на позволить .

присутствие Order директива может затронуть доступ к части сервера даже в отсутствии сопровождения Allow и Deny директивы из-за его эффекта на государство доступа по умолчанию. Например,

<Directory /www>
Order Allow,Deny
</Directory>

будет отрицать весь доступ к /www справочник, потому что государство доступа по умолчанию будет собираться отрицать .

Order директива управляет заказом директивы доступа, обрабатывающей только в пределах каждой фазы обработки конфигурации сервера. Это подразумевает, например, что Allow или Deny директива, происходящая в a <Location> секция будет всегда оцениваться после Allow или Deny директива, происходящая в a <Directory> секция или .htaccess файл, независимо от урегулирования Order директива. Для деталей относительно слияния секций конфигурации, см. документацию относительно How Directory, Location and Files sections work .