forum · Форум 26.200.0 Безопасность

Forum 26.200.0: REST v3 для сообщений и проверка доступа к комментариям

2 мин чтения
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

Обновление безопасности

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

Forum 26.200.0 добавляет REST v3-контроллер сообщений и ужесточает проверку доступа к комментариям бизнес-процессов. Исправлена и очистка кеша живой ленты после удаления комментария через REST.

Новое

Удаляйте сообщения через REST v3

Новый контроллер Bitrix\Forum\Infrastructure\Rest\Controller\Message содержит действие deleteAction(DeleteRequest $request): DeleteResponse. Запрос принимает положительный id; передавать filter нельзя. Если сообщения уже нет, действие возвращает успех: повторное удаление после потерянного ответа сервера не превращается в ошибку.

Существующее сообщение может удалить его автор либо пользователь, прошедший проверку CSocNetUser::isUserModuleAdmin(). При отказе контроллер выбрасывает AccessDeniedException. Прежний REST-метод forum.message.delete сохранён.

В контроллере также появились listAction() и tailAction(). Оба помечены #[Hidden] и выбирают только сообщения текущего пользователя. У tailAction() курсор работает по id; отдельный фильтр по этому полю запрещён.

Проверьте сценарии доступа к комментариям бизнес-процесса

Резервная проверка права element_read теперь подтверждает тип документа. Она допускает CIBlockDocument и его наследников, проверяет загрузку модуля, положительный ID и существование элемента инфоблока. Некорректный идентификатор документа даёт отказ в этой ветке проверки.

Эта проверка выполняется, если доступ ещё не получен через администратора, участников или инициатора процесса. Эти способы доступа сохранены. В собственных сценариях с документами другого типа учитывайте, что одного совпадения их ID с ID элемента инфоблока больше недостаточно.

БД

В установочные схемы b_forum_message добавлен индекс по (AUTHOR_ID, ID). В MySQL он называется IX_FORUM_MESSAGE_AUTHOR_ID, в PostgreSQL — ix_b_forum_message_author_id_id. Создаёт его только установщик модуля: на эталонах БУС и Б24 после обновления до 26.200.0 индекса нет. На существующей базе он появится при переустановке модуля или если создать его вручную.

Мелочи и находки

  • После REST-удаления комментария кеш живой ленты очищается по LOG_ID самого комментария. Раньше код брал ID из результата предыдущей выборки.
  • Проверка USER_ID при REST-удалении теперь учитывает администратора портала Битрикс24 через CForumRestService::isAdmin().
  • При чтении сохранённого состояния индексатора сообщений unserialize() получает ['allowed_classes' => false], запрещая восстановление объектов.

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

tasks 26.900.0 Ломающее Свежее

Tasks 26.900.0: скрытие выполненных пунктов и удалённые API AI и Scrum

В Tasks 26.900.0 настройка скрытия выполненных пунктов применяется ко всем задачам пользователя, а для шаблонов хранится отдельно. В Scrum появилось перемещение перед выбранным элементом. Одновременно удалены AI REST для сохранения изображений и три публичных метода Scrum.

6 мин
blog 26.600.200 Рутинное Свежее

Blog 26.600.100–26.600.200: загрузка авторов текущей страницы

В Blog 26.600.200 компонент `bitrix:blog.blog` загружает данные авторов текущей страницы записей. Их `AUTHOR_ID` берутся из уже выбранных постов с учётом `MESSAGE_COUNT`, поэтому отдельный обход всех записей блога больше не вызывается. Если у вас есть своя копия компонента, сравните подготовку списк…

1 мин
tasks 26.800.0 Ломающее Свежее

Tasks 26.700.0–26.800.0: роботы с проверкой прав, чек-листы и новая длительность в REST

Tasks 26.700.0, 26.750.0 и 26.800.0 добавляют сортировку канбана, несколько чек-листов в действии создания задачи и робот «Добавить результат». Интеграциям потребуется проверить плановую длительность в REST, собственные действия БП и обработчики скрама. Роботы теперь проверяют права автора, а REST о…

5 мин
stafftrack 26.500.0 Ломающее Свежее

Stafftrack 26.400.0–26.500.0: офисы с геозонами и новые правила приёма чекинов

В Stafftrack 26.400.0 и 26.500.0 появился справочник офисов с геозонами, фотографиями и сигналами присутствия сотрудников. Одновременно изменились правила приёма точек маршрута и исчезли два публичных сервисных класса. Интеграциям, которые отправляют накопленные чекины или вызывают эти сервисы, потр…

4 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти