doc/html/plugins/PCREPlugin.ru.html
Фильтрующий плагин используется для создания правил поиска и замены регулярных выражений в запросе, заголовков запроса и ответа и данных. Добавляет поддержку 3х новых команд в файле конфигурации:
pcre TYPE FILTER_ACTION REGEXP [ACE]
pcre_rewrite TYPE FILTER_ACTION REGEXP REWRITE_EXPRESSION [ACE]
pcre_extend FILTER_ACTION [ACE]
pcre_options OPTION1 [...]
pcre - позволяет искать совпадения
pcre_rewrite - дополнительно позволяет производить замену подстрок
pcre_extend - расширяет ACL последней команды pcre или pcre_rewrite путем добавления еще одной ACE (аналогично списку правил allow/deny).
pcre_options - позволяет устанавливать опции поиска, доступны следующие опции: PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_EXTENDED, PCRE_ANCHORED, PCRE_DOLLAR_ENDONLY, PCRE_EXTRA, PCRE_NOTBOL, PCRE_NOTEOL, PCRE_UNGREEDY, PCRE_NOTEMPTY, PCRE_UTF8, PCRE_NO_AUTO_CAPTURE, PCRE_NO_UTF8_CHECK, PCRE_AUTO_CALLOUT, PCRE_PARTIAL, PCRE_DFA_SHORTEST, PCRE_DFA_RESTART, PCRE_FIRSTLINE, PCRE_DUPNAMES, PCRE_NEWLINE_CR, PCRE_NEWLINE_LF, PCRE_NEWLINE_CRLF, PCRE_NEWLINE_ANY, PCRE_NEWLINE_ANYCRLF, PCRE_BSR_ANYCRLF, PCRE_BSR_UNICODE
TYPE - тип фильтруемых данных. Может содержать одно или несколько (список через запятую) значений:
FILTER_ACTION - действие при совпадении. Может принимать значение
REGEXP - регулярное выражение в формате PCRE (perl). Используйте * если не требуется проерка регулярного выражения.
REWRITE_EXPRESSION - строка замены. Может содержать макроподстановки (не тестировалось) $1, $2 и т.д. аналогично perl. $0 - полная найденная подстрока. В строке замены можно использовать сочетания \r, \n для вставки новых строк. Строка может быть пустой ("").
ACE - Список контроля доступа (имя пользователя, IP источника, IP назначения, порт и т.д.), полностью аналогичный ACE в командах allow, deny, bandlimin и т.п. Регулярное выражение проверяется только при совпадении ACE с запросом. ВНИМАНИЕ: использование регулярных выражений не требует авторизации и не заменяет ее. Авторизацию необходимо конфигурировать отдельно.
plugin PCREPlugin.dll pcre_plugin
pcre request deny "porn|sex" user1,user2,user3 192.168.0.0/16
pcre srvheader deny "Content-type: application"
pcre_rewrite clidata,srvdata dunno "porn|sex|pussy" "***" baduser
pcre_extend deny * 192.168.0.1/16