Apache Версия 2.0 Сервера HTTP
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>
секция.
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
директивы как обсуждено ниже. Позволять только специфическим хозяевам или группам хозяев получать доступ к серверу,
хозяин
может быть определен в любом из следующих форматов:
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 получат доступ позволяться.
Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205
IP адрес хозяина позволил доступ
Allow from 10.1
Allow from 10 172.20 192.168.2
первые 1 - 3 байта IP адреса, для ограничения подсети.
Allow from 10.1.0.0/255.255.0.0
сеть a.b.c.d, и netmask w.x.y.z. Для более мелкозернистого ограничения подсети.
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 просят области удара головой.
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
будут позволять доступу, и всем другим будут отказывать.
Description: | средства управления, какие хозяева являются лишенными доступа к серверу |
---|---|
Syntax: |
Deny from all|
host
|env=
env-variable
[
host
|env=
env-variable
] ...
|
Context: | справочник, .htaccess |
Override: | предел |
Status: | основа |
Module: | mod_access |
эта директива позволяет доступ к серверу быть ограниченным основанный на hostname, IP адресе, или переменных окружающей среды. Аргументы за
Deny
директива идентична аргументам за
Allow
директива.
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
.