Apache Module mod_access
Интродукция:
mod_access както и името му посочва, предоставя контрол на достъпа за документи т.е. позволяват или ограничават досъпа до ресурси на базата на клиентското хост име, на базата на IP адрес или конкретен мрежови адрес. Този модул е базовия за контролиране на досъпа за Apache.
Описание:
Предоставя възможност за контролиране на достъпа, базирана на клиентския hostname, IP адрес и други характеристики на клиентското допитване.
Модул: access_module
Source файл: mod_access.c
Съвместимост: Достъпна само за версиите преди 2.1
Общо
Всички директиви, подържани от mod_access се използват в , и секциите, както и в .htaccess файловете, за да контролират достъпа до определени части на сървъра. Достъпа може да се осъществява на базата на клиентско име, IP адрес и други характеристики на на клиентския request, които се долавят от променливите на средата(enviroment variables). Директивите Позволение(Allow) и Отказ(Deny) се използват, за да специфицират на кои клиенти е позволен достъпа и кои не е позволен. Докато директивите за позволение инициализират стойността по подразбиране за достъп и конфигурират как директивите за достъп и за отказ да комуникират една с друга.
Както правилата за хост-базиран достъп, така и системите за идентификация с парола могат да бъдат имплементирани едновременно. В този случей, директивата Satisfy се използва за определяне на начините, по които две множества от ограничения могат да си взаимодействат.
По правило, директивите за достъп се реализират от всички методи за достъп(GET, PUT, POST). Това е желано поведения в повечето случеи. Възможно е да се забранят някои методи, докато други останат незасегнати, посредством директиви в файла.
Директива за достъп
Описание: Контролира кой хост може да достъпва обсега на даден сървър
Синтаксис: Позволява от всички |host|env=env-variable[host|env=env-variable]
Контекст: directory, .htaccess
Предефиниране: ограничено
Статус: Base
Модул: mod_access
Директивата за достъп Allow късае кои хостове имат достъп до обхвата на сървъра. Достъпа може да се контролира от името на хоста, IP адреса IP обхвата, както и много други характеристики на клиентското допитване, уловени от променливите на средата. Аргумента на тази директива може да има три различни форми. Ако Allow from all е посочена, тогава на всички хостове е разрешен достъпа. За да се позволи само на определении хостове да достъпват до сървъра се използват следните формати:
-Частично домейн име:
Пример:
Allow from apache.org
Allow from .net example.edu
Хостовете, които отговарят на този шаблон, получават достъп. Посоченият шаблон ще допусне foo.apache.org, но няма да допусне fooapache.org.
-Пълен IP адрес:
Пример:
Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205
Позволява достъп до посочения адрес
Част от адреса(subnet):
Пример:
Allow from 10.1
Allow from 10 172.20 192.168.2
Използва се главно за subnet restriction
Двойка адрес/маска:
Пример:
Allow from 10.1.0.0/255.255.0.0
CIDR спецификация:
Пример:
Allow from 10.1.0.0/16
Директива за отказ
Синтаксис: Отказа се осъществява от all|host|env=env-variable [host|env=env-variable]
Контекст: directory, .htaccess
Предефиниране: ограничено
Статус: Base
Модул: mod_access
Тази директива позволява, достъпът до сървъра да се ограничава на базата на име на хоста, IP адрес или променлива на средата. Аргументите на директивата за отказ са идентични с тези на директивата за достъп.
Директива за наредба
Синтаксис: подрежда се с ordering
По подразбиране: Order, Deny, Allow
Контекст: directory, .htaccess
Предефиниране: ограничено
Статус: Base
Модул: mod_access
Директивата за наредба, наред с директивите за достъп и отказ , контролира тристъпковата система за достъп.
Примери:
В следвашия пример всички хостове в apache.org домейна са с разрешен достъп, а всички останали със забранен.
Order Deny,Allow
Deny from all
Allow from apache.org
В следващия пример всички хостове от apache.org са с разрешен достъп, с изключение на хостовете от събдомейна foo.apache.org.
Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org
Следващите команди ще забранят достъпа от директорията /www:
Order Allow,Deny
Допълнително:
В текущата версия на Apache 2.2 се ползва mod_authz_host. В подобрението се включва и подръжка и на Ipv6 адреси. В примера се позволява достъпа от конкретен адрес и от подмрежа.
Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10
Как да научим Java
Венсеремос!Истината винаги се случва!Въз...