Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Массовая рассылка личных сообщений в Битрикс24

Модуль реализует функционал массовой рассылки сообщений в Bitrix24 с поддержкой:Вложений,Форматирования,Отправки от имени другого пользователя с запросом доступаПерсонификацией сообщений (переменные #NAME#, #LAST_NAME#, #SECOND_NAME#).Подробная инструкция для пользователей

Массовая рассылка личных сообщений в Битрикс24

Массовая рассылка личных сообщений в Битрикс24

Купить: 2 990 руб.
Купить продление
Скриншоты
Описание

Технические данные

Опубликовано:
12.08.2025
Обновлено:
14.09.2026
Версия:
1.0.6
Установлено:
Менее 50 раз
Подходящие редакции:
«Корпоративный портал»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет

Пользовательское соглашение

Описание

Модуль реализует функционал массовой рассылки сообщений в Bitrix24 с поддержкой:

  • Вложений,

  • Форматирования,

  • Отправки от имени другого пользователя с запросом доступа

  • Персонификацией сообщений (переменные #NAME#, #LAST_NAME#, #SECOND_NAME#).

Подробная инструкция для пользователей
Отзывы (0)
Обсуждения (0)
Здесь пока никто ничего не написал. Будьте первым.
Что нового
1.0.6 (14.09.2026) Исправления безопасности.
  • IDOR на вложениях, высокая критичность (components/masspersonalmessage.sender/class.php, handleSendAction): проверка MODULE_ID файла общая для всех пользователей модуля, поэтому пользователь с правом access_module мог перебором последовательных ID (attachments=[N]) прикрепить к своей рассылке файл, загруженный другим пользователем модуля, и получить его содержимое. Теперь при загрузке файла (handleFileUpload) его владелец фиксируется в сессии пользователя; при отправке (handleSendAction) принимаются только файлы, загруженные текущим пользователем в этой же сессии.
  • Неверное поле в проверке владельца при отзыве доступа (handleRevokeAccess): отозвать выданное разрешение на отправку от своего имени мог только исходный запрашивающий (UF_KMPM_USER_ID), а не владелец идентичности (UF_KMPM_REQUESTED_USER_ID), от чьего имени разрешение выдано. В результате владелец идентичности не мог самостоятельно отозвать право, выданное им ранее. Теперь отзыв доступен обеим сторонам.
  • Недостаточно строгая загрузка файлов, defense-in-depth (handleFileUpload): MFI-контроллеру передавался режим «любой файл» (allowUpload=A), а идентификатор модуля и forceMd5 брались из запроса. Заданы явный allowlist допустимых расширений, фиксированный moduleId и forceMd5=false.
1.0.5 (11.09.2026) Исправление безопасности.
  • Обход аутентификации, defense-in-depth (components/masspersonalmessage.sender/class.php, executeComponent): AJAX-действия и загрузка файлов компонента проверяли только CSRF-токен (check_bitrix_sessid), но не авторизацию и право доступа к модулю — компонент полагался на то, что эту проверку уже сделала подключающая страница. Так как компонент переиспользуемый (может быть подключён на любой странице/шаблоне), проверка авторизации и права access_module перенесена внутрь самого компонента — теперь он защищён независимо от того, где подключён.
1.0.4 (09.09.2026) Исправление безопасности.
  • IDOR на вложениях (components/masspersonalmessage.sender/class.php, handleSendAction): сервер проверял только существование файла по ID, но не его принадлежность модулю — пользователь с правом доступа мог прикрепить к рассылке произвольный файл из хранилища Bitrix, подобрав ID. Теперь дополнительно проверяется, что файл был загружен через виджет этого модуля (MODULE_ID = kuratovru.masspersonalmessage).
1.0.3 (09.09.2026) Исправление безопасности.
  • Stored XSS (components/masspersonalmessage.sender/class.php, handleRequestAccess): имя запрашиваемого пользователя (user_name), формируемое из полей профиля NAME/LAST_NAME/SECOND_NAME, возвращалось в JSON-ответе без экранирования и вставлялось на клиенте через innerHTML. Значение user_name теперь экранируется через htmlspecialcharsbx() перед отправкой в ответе.
1.0.2 (09.09.2026) Исправления безопасности.
  • Обход аутентификации (admin/access_module.php): AJAX-обработчик (add_user/delete_user) выполнялся до проверки прав администратора — любой авторизованный пользователь мог выдать или отозвать себе доступ к модулю. Проверка прав перенесена в самое начало файла и выполняется безусловно для всех действий.
  • IDOR (components/masspersonalmessage.sender/class.php): обработчики одобрения/отклонения/отзыва запроса на отправку от имени не проверяли, что текущий пользователь — участник записи. Добавлена сверка текущего пользователя с полями записи перед выполнением действия.
  • XSS (class.php, handleRequestAccess): requested_user_id из запроса подставлялся в JSON-ответ без приведения типа. Значение теперь приводится к (int) сразу после получения.
  • XSS (templates/.default/template.php): имена пользователей (USER_NAME), формируемые из полей профиля, выводились в шаблон без экранирования. Весь пользовательский вывод теперь экранируется через htmlspecialcharsbx().
  • Утечка информации (install/public/index.php): на публичной странице модуля был включён отладочный режим Bitrix (BX_DEBUG), раскрывающий детали ошибок и внутренние пути. Отладочный режим отключён.
1.0.1 (09.09.2026) Совместимость с PHP 8.2.
  • Страница администрирования доступа admin/access_module.php содержала короткий тег <? endif; ?> вместо <?php endif; ?>. При отключённой директиве short_open_tag это приводило к фатальной ошибке синтаксиса, и страница не открывалась.
  • Компонент рассылки class.php не объявлял свойство $arResult явно, что в PHP 8.2 помечено как устаревшее создание динамического свойства. Свойство объявлено явно.
Установка
  1. Выполните стандартную установку модуля
  2. Назначьте пользователей модуля через административную панель, раздел «Сервисы» → «Массовая рассылка» → «Управление доступом».
Подробная инструкция для администраторов.
Поддержка
Поддержка осуществляется по почте: prog@kuratov.ru или telegram https://t.me/kuratov_bot

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки