Apache. Документация на русском


Директивы Apache
  1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76    77    78    79    80    81    82    83    84    85  
  86    87    88    89    90    91    92  
  93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    162    163    164    165  
  166    167    168    169    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    202    203    204    205    206    207    208    209    210    211    212    213    214    215    216    217    218    219    220      221      222    223    224    225    226    227    228    229    230    231    232    233    234    235    236    237    238    239    240    241    242  

 <         > 
Список директив: Core  |  ModRewrite  |  Lua  |  Proxy  |  SSL

Директива SSLRequire
  RU            EN  
Описание:Разрешить доступ только тогда, когда произвольно сложное логическое выражение истинно
Синтаксис: SSLRequire expression
Контекст:каталог, .htaccess
Переопределить:Аутконфиг
Статус:Расширение
Модуль:mod_ssl

SSLRequire устарел

SSLRequire устарело и в целом должно быть заменено Require expr. Так называемый синтаксис ap_expr Require expr является надмножеством синтаксиса SSLRequire , за следующим исключением:

В SSLRequire операторы сравнения < , <= , ... полностью эквивалентны операторам lt , le , ... и работают несколько своеобразным образом, сначала сравнивая длину двух строк, а затем лексический порядок. С другой стороны, ap_expr имеет два набора операторов сравнения: операторы < , <= , ... выполняют сравнение лексических строк, а операторы -lt , -le , ... выполняют сравнение целых чисел. Для последних также существуют псевдонимы без начальных дефисов: lt , le , ...

Эта директива определяет общее требование доступа, которое должно быть выполнено, чтобы разрешить доступ. Это очень мощная директива, поскольку спецификация требований представляет собой произвольно сложное логическое выражение, содержащее любое количество проверок доступа.

Выражение должно соответствовать следующему синтаксису (данному в виде грамматической нотации BNF) :

expr ::= "true" | "false"
 | "!" expr
 | expr "&&" expr
 | expr "||" expr
 | "(" expr ")"
 | comp
comp ::= word "==" word | word "eq" word
 | word "!=" word | word "ne" word
 | word "<" word | word "lt" word
 | word "<=" word | word "le" word
 | word ">" word | word "gt" word
 | word ">=" word | word "ge" word
 | word "in" "{" wordlist "}"
 | word "in" "PeerExtList(" word ")"
 | word "=~" regex
 | word "!~" regex
wordlist ::= word
 | wordlist "," word
word ::= digit
 | cstring
 | variable
 | function
digit ::= [0-9]+
cstring ::= "..."
variable ::= "%{" varname "}"
function ::= funcname "(" funcargs ")"

Для varname любой из переменных, описанных в разделе Переменные среды, можно использовать. Доступные funcname функции перечислены в документации ap_expr.

Выражение преобразуется во внутреннее машинное представление при загрузке конфигурации, а затем оценивается во время обработки запроса . В контексте .htaccess выражение анализируется и выполняется каждый раз, когда во время обработки запроса встречается файл .htaccess.

Пример

SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
 and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
 and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
 and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \
 and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \
 or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/

Функция ожидает найти ноль или более экземпляров расширения сертификата X.509, идентифицированного заданным идентификатором объекта (OID) в сертификате клиента. Выражение оценивается как истинное, если строка в левой части точно совпадает со значением расширения, идентифицированного с этим OID. (Если присутствует несколько расширений с одним и тем же OID, хотя бы одно расширение должно совпадать). PeerExtList(object-ID)

Пример

SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")

Примечания к функции PeerExtList

  • Идентификатор объекта может быть указан как описательное имя, распознаваемое библиотекой SSL, например "nsComment" , или как числовой OID, например "1.2.3.4.5.6" .

  • Выражения с типами, известными библиотеке SSL, перед сравнением преобразуются в строку. Для расширения с типом, не распознаваемым библиотекой SSL, mod_ssl будет анализировать значение, если оно является одним из примитивных типов ASN.1 UTF8String, IA5String, VisibleString или BMPString. Для расширения одного из этих типов строковое значение при необходимости будет преобразовано в UTF-8, а затем сравнено с левым выражением.

Смотрите также

  • Переменные среды в HTTP-сервере Apache для дополнительных примеров.
  • Требовать выражение
  • Общий синтаксис выражений в HTTP-сервере Apache
  RU            EN  


Рейтинг@Mail.ru