Privacy Lists (списки приватности)

Общая информация

Большинство систем мгновенного обмена сообщениями имеют средства блокирования получения и отправки сообщений и информации о присутствии, применительно к определённым пользователям (различные реализации белых и чёрных списков, невидимость для собеседников).

В сетях Jabber, использующих протокол XMPP, это достигается настройкой и использованием списков приватности - Privacy Lists.

Обработка правил Privacy Lists выполняется Jabber-сервером, при этом сервер позволяет производить следующие операции:

  • получение списков приватности клиентом;
  • добавление, редактирование и удаление списков приватности;
  • выбор активного списка приватности (правила, работающие в течение текущей сессии);
  • выбор списка ‘по умолчанию’ (правила, действовующие при каждом подключении к серверу);
  • разрешение или запрет прохождения сообщения применительно к JID, группе ростера, типу subscription или глобально;
  • разрешение или запрет получения уведомлений о присутствии (presence) контакта применительно к JID, группе ростера, типу subscription или глобально;
  • разрешение или запрет отправки уведомлений о своём присутствии (presence) другим контактам применительно к JID, группе ростера, типу subscription или глобально;
  • разрешение или запрет прохождения служебных пакетов IQ применительно к JID, группе ростера, типу subscription или глобально;
  • разрешение или запрет всех вышеперечисленных пакетов применительно к JID, группе ростера, типу subscription или глобально.

Замечание: Списки приватности не позволяют блокировать запросы subscription.

Описание правил

Пользователь может определить один или более списков Privacy Lists. Каждый список может содержать несколько правил, определяющих действие правила и признаки, по которым правило применяется.

Типы правил

Правила типа JID

Такие правила применяются к пакетам при совпадении поля value правила с JID’ом контакта. Вот несколько примеров задания поля value:

  • user@domain/resource - правило будет срабатывать только для данного ресурса JID;
  • user@domain - правило будет срабатывать по JID с любым ресурсом;
  • domain/resource - правило будет срабатывать по доменному имени Jabber-сервера И ресурсу (применяется к службам сервиса);
  • domain - под этот вариант попадают domain, любые user@domain, domain/resource, а также любой адрес в домене domain.

Правила типа Group

Поле value таких правил должно содержать имя СУЩЕСТВУЮЩЕЙ группы контактов в ростере пользователя.

Если клиент попытается создать или редактировать список, содержащий правило типа Group для имени группы, отсутствующей в ростере, то сервер выдаст ошибку при попытке сохранить такой список.

Правила типа Subscription

Поле value таких правил должно содержать тип Subscription (подписки на присутствие) :

  • from - правило сработает для пакетов тех контактов, которые разрешили получать пользователю информацию о присутствии;
  • to - правило сработает для пакетов тех контактов, для которых пользователь разрешил отправку информации о своём присутствии;
  • both - правило сработает для пакетов тех контактов, которые могут обмениваться информацией о присутствии с пользователем в обе стороны;

Примечание: Под вышеперечисленные правила могут попасть только те контакты, которые находятся в ростере.

  • none - правило сработает для пакетов тех контактов, для которых не установлена никакая подписка.

Примечание: Также под это правило попадают все контакты, которые не находятся в ростере пользователя.

Действие правил

Возможны два типа действия - allow (разрешить пакет) и deny (запретить пакет).

Пакеты, к которым применяется правило

Каждое правило может использоваться для пакетов, содержащих:

  • message - получаемые (входящие) сообщения;
  • presence-in - получаемая информация о присутствии контактов;
  • presence-out - отправляемая (исходящая) информация о собственном присутствии;
  • iq - получаемая служебная информация.

Использование Privacy Lists сервером

  1. Если во время сессии клиентом установлен активный список приватности (active list), то этот список применяется сервером только для той сессии, во время которой он активирован. При этом не используется список по умолчанию (default list).
  2. Список по умолчанию (default list) применяется ко всем сессиям, для которых не установлен активный список. Список по умолчанию также применяется ко всем Jabber-пакетам, если все ресурсы пользователя имеют статус offline (например, таким образом могут отбрасываться и не попадать на хранение на сервере нежелательные сообщения, на которые настроена фильтрация).
  3. Если нет ни активных списков для сессий пользователя, ни списка по умолчанию, то Jabber-пакеты доставляются без ограничений.
  4. Порядок расположения правил в списке имеет значение - именно в порядке возрастания номеров правил производится применение этих правил к Jabber-пакетам.
  5. Как только для Jabber-пакета найдено соответствующее правило, пакет обрабатывается согласно действию правила (allow или drop).
  6. Если пакет не попадает под действие ни одного правила из списка, то выполняется доставка пакета (allow).
  7. При редактировании активного списка новые правила этого списка начинают действовать немедленно.
  8. Нельзя удалить или сменить на другой список ДЕЙСТВУЮЩИЙ для другого ресурса список по умолчанию.

Пример настройки Privacy Lists в Bombus

Открываем редактор списков приватности (MenuToolsPrivacy Lists)

Создаём новый список приватности Ignore-List (Make Ignore-List)

В нём создаём следующие правила командой Add rule (очерёдность правил важна):

  1. allow jid my_JID all ← для возможности работы self-contact (события от своего JID)
  2. allow jid conference.jabber.ru all ← для разрешения использования конференций на выбранном сервере
  3. allow jid rss.jabber.ru [v] message ←- для разрешения входящих оповещений о создании новых рассылок (кому нужно)
  4. deny jid rss.jabber.ru [v] presence-in ←- для запрета получения статусов online от rss-лент (лишний траффик!)
  5. deny subscription none all ← для запрета входящих сообщений от контактов без подписки
  6. deny group Ignore-List all ← для запрета любых событий от группы Ignore-List

Сохраняем данный список (Save list)

Далее активизируем его (Activate) и делаем списком по умолчанию (Set default)

 
jabber/privacy_lists.txt · Последние изменения: 10/11/2007 11:58 voffk
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki