Выборочное фильтрование
SecFilterSelective LOCATION KEYWORD [ACTION]
Позволяет точнее указать условия поиска. KEYWORD и ACTION аналогичны SecFilter. Параметр LOCATION состоит из набора идентификаторов, разделенных вертикальной чертой.
SecFilterSelective "REMOTE_ADDR | REMOTE_HOST" KEYWORD
Модуль применяет регулярное выражение только к IP-адресу клиента или имени хоста. Список возможных идентификаторов включает все CGI-переменные и некоторые другие.
- REMOTE_ADDR
- REMOTE_HOST
- REMOTE_USER
- REMOTE_IDENT
- REQUEST_METHOD
- SCRIPT_FILENAME
- PATH_INFO
- QUERY_STRING
- AUTH_TYPE
- DOCUMENT_ROOT
- SERVER_ADMIN
- SERVER_ADDR
- SERVER_PORT
- SERVER_PROTOCOL
- SERVER_SOFTWARE
- TIME_YEAR
- TIME_MON
- TIME_DAY
- TIME_HOUR
- TIME_MIN
- TIME_SEC
- TIME_WDAY
- TIME
- API_VERSION
- THE_REQUEST
- REQUEST_URI
- REQUEST_FILENAME
- IS_SUBREQ
Существует несколько специальных идентификаторов:
- POST_PAYLOAD – фильтр тела POST-запроса
- ARGS – аргументы фильтра, то же самое, что и QUERY_STRING | POST_PAYLOAD
- ARGS_NAMES – только имена переменных и параметров
- ARGS_VALUES – только значения переменных и параметров
- COOKIES_NAMES – только имена cookie
- COOKIE_VALUES – только значения cookie
- SCRIPT_UID
- SCRIPT_GID
- SCRIPT_USERNAME
- SCRIPT_GROUPNAME
- SCRIPT_MODE
- ARGS_COUNT
- COOKIES_COUNT
- HEADERS
- HEADERS_COUNT
- HEADERS_NAMES
- HEADERS_VALUES
- FILES_COUNT
- FIELS_NAMES
- FILES_SIZES
Существуют и более специальные идентификаторы:
- HTTP_header – запрос поиска заголовка
- ENV_variable – поиск переменной окружения
- ARG_variable – поиск переменной / параметра запроса
- COOKIE_name – поиск cookie с данным именем
- FILE_NAME_variable – поиск имени файла
- FILE_SIZE_variable – поиск размера загружаемого файла
В Apache 2 существует ограниченное число переменных, специфичных для вывода (только когда доступна буферизация вывода).
- OUTPUT – все тело ответа
- OUTPUT_STATUS – код статуса ответа