3proxy free proxy server


[RU] switch to
English Version

Плагин регулярных выражений совместимых с Perl (PCRE) для 3proxy

Фильтрующий плагин используется для создания правил поиска и замены регулярных выражений в запросе, заголовков запроса и ответа и данных. Добавляет поддержку 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 - тип фильтруемых данных. Может содержать одно или несколько (список через запятую) значений:
    • request - содержимое запроса клиента (например строка HTTP GET-запроса). (в настоящий момент изменение запроса не приводит к изменению адреса запрашиваемого хоста)
    • cliheader - содержимое заголовков запроса клиента, например заголовки HTTP
    • srvheader - содержимое заголовков ответа сервера, например заголовки HTTP
    • clidata - данные полученные от клиента, например данные POST-запроса
    • srvdata - данные полученные от сервера, например содержимое HTML-страницы
  • FILTER_ACTION - действие при совпадении. Может принимать значение
      allow - разрешить данный запрос без просмотра дальнейших правил
    • deny - запретить данный запрос без просмотра дальнейших правил
    • dunno - продолжить анализ правил (полезно для pcre_rewrite)
  • 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

Загрузить:

  • Плагин включен в дистрибутив 3proxy 0.6
  • Пример конфигурации (by Dennis Garber): NoPornLitest.cfg
 
О сайте | Условия использования
© Securityvulns, 3APA3A, Владимир Дубровин