Фильтрация по URL

<< Кликните, чтобы показать Содержание >>

Руководство Администратора | CHM EPUB PDF A4/Letter   

Фильтрация по URL

Задача

Необходимо в случае присутствия в URL слов <forum, phorum, post, submit> для метода get установить на сообщение пометку "user reads forums".

Описание логики решения

Проверьте URL и метод HTTP-запроса, используя фильтр HTTP-протокола. Для проверки URL следует использовать условие "url", для проверки метода HTTP-протокола следует использовать условие "method".

Решение

Например, файл фильтра HTTP-протокола может выглядеть так:

<?xml version="1.0" encoding="utf-8"?>

<filter name="HTTP filter" version="1.0">

 

  <table name="main">

 

    <rule enabled="true">

      <comment>

        Detect requests possibly related to forums.

      </comment>

      <match>

        <and>

          <c name="method"

             value="GET"/>

          <c name="url"

             op="re"

             value="http://.*/.*(forum|phorum|post|submit).*" />

        </and>

      </match>

        <action name="tag" value="USER_READS_FORUMS"/>

    </rule>

 

    <rule enabled="true">

      <action name="accept" />

    </rule>

  </table>

</filter>

Подробное описание условий фильтрации "url" и "method" смотрите в разделах Условие URL и Условие METHOD.

Комментарии и общие рекомендации

1. Следует помнить, что на этапе фильтрации HTTP-протокола ещё не существует сообщений, проверка на их наличие в трафике будет выполнена позже. Однако, метки и теги, установленные для запросов на этом этапе будут сохранены и в сообщении (если оно будет извлечено из этих запросов). Эти метки и теги будут доступны для проверки в фильтре сообщений и в дальнейшем в виде заголовков X-Sensor-Tags и X-Sensor-Labels.

2. Следует помнить, что в условие "url" попадает полный URL запроса, включая имя хоста (т.е. в виде http://www.mail.ru/mail/read.php?some=parameter&param2), это необходимо учитывать в условии проверки.