Организация Web-доступа в среде zLinux на сервере z9 BC
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ения индексов каталогов)(Allow, Deny и Order)(Options и XBitHack)
Секция VirtualHost (S) включает директивы, применяемые для запросов к указанному хосту ("*" означает любой адрес или любой порт; "_default_" - адреса, не указанные в других секциях):
...
Секция Directory (SV) включает директивы, применяемые только к запросам файлов из указанного в заголовке секции каталога и его подкаталогов (вместо полного имени каталога можно указывать шаблон в стиле Unix или регулярное выражение в кавычках, перед которым необходимо указать "~ "), нельзя вкладывать в секции Directory и Limit:
...
Секция DirectoryMatch (SV) включает директивы, применяемые только к запросам файлов из указанного в заголовке секции каталога и его подкаталогов, нельзя вкладывать в секции Directory и Limit:
...
Секция Files (SVDA) включает директивы, применяемые только к запросам файлов с указанным в заголовке секции простым именем (вместо простого имени можно указывать шаблон в стиле Unix или регулярное выражение в кавычках, перед которым необходимо указать "~ "):
...
Секция FilesMatch (SVDA) включает директивы, применяемые только к запросам указанного в заголовке секции файла:
...
Секция Location (SV) включает директивы, применяемые только к запросам URL, указанным в заголовке секции (для локальных - не прокси - запросов нельзя указывать схему, имя хоста, номер порта и строку запроса; можно указывать шаблон в стиле Unix)
...
Секция LocationMatch (SV) включает директивы, применяемые только к запросам URL, указанным в заголовке секции:
...
Секция Limit (SVDFLA) включает директивы управления доступом, применяемые только к запросам указанного в заголовке секции HTTP методам доступа (GET (действует также на HEAD), POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK; TRACE указывать нельзя):
...
Секция LimitExcept (SVDFLA) включает директивы управления доступом, применяемые к запросам не указанных в заголовке секции HTTP методов доступа:
...
Порядок применения директив определения свойств и прав доступа к объекту (все секции одного типа, кроме Directory и .htaccess, применются по порядку; Directory и .htaccess применяются от кратчайшего пути к самому длинному; секции внутри VirtualHost применяются после соответствующих общих секций):
секция Directory (кроме регулярных выражений) и .htaccess (.htaccess перебивает Directory, если разрешено директивой AllowOverride)
секция DirectoryMatch и Directory с регулярными выражениями
секции Files и FilesMatch
секции Location и LocationMatch
Журнал ошибок управляется директивами ErrorLog и LogLevel модуля Core. Кроме сообщений сервера сюда направляется вывод на stderr скриптов CGI, вывод модуля dumpio.
Журнал доступа управляется модулем log_config, который позволяет задать имя файла и формат вывода. Данный журнал содержит записи о всех (если не отфильтровано директивой CustomLog) запросах к серверу. Каждый виртуальный сервер может вести произвольное число журналов в различных форматах.
Каждый запрос к серверу порождает строку в журнале, состоящую из элементов (token), разделенных пробелами. Пустой элемент записывается как символ '-'. Если элемент содержит пробелы, то он должен заключаться в кавычки (это надо самому предусмотреть при описании формата). При описании формата используются литеральные символы, которые копируются в журнал (можно использовать '\n' и т.п.; кавычки и обратная косая должны быть прикрыты символом '\') и директивы, которые начинаются с символа '%' и завершаются однобуквенным именем директивы. Между ними может стоять условие в виде списка кодов завершения HTTP через запятую (м.б. предваренных восклицательным знаком для операции отрицания) - если условие не выполняется, то вместо элемента записывается минус. Модификаторы перед буквой директивы позволяют определить (в случае внутреннего перенаправления) атрибут исходного ('') запроса будет использоваться при создании строки журнала.
Директива в описании формата замещается соответствующим значением:
%% - '%'
%a - адрес удаленного хоста
%A - локальный адрес
%B - количество посланных байт, кроме HTTP-заголовка
%b - количество посланных байт, кроме HTTP-заголовка (вместо 0 пишется '-')
%{имя-куки}C - значение куки
%D - микросекунд потрачено на обработку запроса
%{имя}e - значение переменной окружения
%f - имя файла
%h - имя удаленного хоста
%H - протокол (HTTP)
%{имя-заголовка}i - значение заголовка запроса; наиболее часто используются - откуда была ссылка на документ agent - что сказал о себе броузер
%I - количество полученных байт, включая заголовки (требуется logio)
%l - имя удаленного пользователя (если задействован ident)
%m - метод (GET, PUT и т.д.)
%{имя-заметки}n - содержимое заметки с указанным именем, созданной другим модулем (например, %{forensic-id}n или %{cookie}n)
%{имя-заголовка}o - значение заголовка ответа
%O - количество посланных байт, включая заголовки (требуется logio)
%p - канонический номер порта сервера
%P - pid процесса, обслуживающего запрос
%{tid}P - идентификатор потока, обслуживающего запрос
%q - поисковая часть URL (после '?')
%r - первая строка запроса
%s - статус запроса (код возврата HTTP)
%t - вр