Reemake Digital Agency · Модуль AJAX Content

Учёт прав и уровней доступа (ACL)
при AJAX-запросах в Joomla 6

AJAX-запрос обходит страницу, но не должен обходить права. С 2009 года мы настраиваем ACL на сайтах разного масштаба. Разбираем по 5 ошибкам, как модуль Reemake AJAX Content фильтрует материалы по access-уровням и ролям.

5 ошибок

Что обычно упускают при настройке ACL

1. Не проверяют уровень доступа. Гость видит материалы категории Registered — утечка контента.

2. Игнорируют статус публикации. Скрытые и архивные материалы попадают в AJAX-ответ.

3. Кеш без user_id. Кеш одного пользователя отдаётся другому — утечка между сессиями.

4. Не проверяют даты публикации. Запланированные материалы показываются раньше срока.

5. Не учитывают права категорий. Закрытая категория — но материалы из неё отдаются.

Правила

Что проверяет эндпоинт

Access levels

Материалы с закрытым доступом не отдаются гостям.

Роли пользователя

Проверяется через Factory::getUser().

Состояние публикации

Только published материалы.

Даты публикации

Не покажет будущие.

Права категорий

Материалы из закрытых категорий не отдаются.

Проверка на каждом запросе

Не только при первой отрисовке, а на каждом AJAX-запросе.

Кейс · ПрофиСервис

Корпоративный сайт: закрытая документация для партнёров

Задача: «ПрофиСервис» — корпоративный сайт на Joomla 6. Раздел «Партнёрам» с закрытой документацией. Доступ — только авторизованным партнёрам. Раньше AJAX-подгрузка отдавала материалы всем подряд — риск утечки.

Что сделали: установили Reemake AJAX Content. Настроили проверку ACL на каждом AJAX-запросе. Настроили кеш с ключом user_id. Настроили фильтр по access-уровням и датам публикации.

Результат: утечек нет. Гости видят только публичные материалы. Партнёры — только свои. За 6 месяцев — ни одной жалобы. Клиент закрыл риск утечки данных.

Вопросы и ответы

Про процесс и гарантии

Как проходит настройка ACL?
Присылаете доступ к админке. Смотрим текущие права, категории, уровни доступа. Настраиваем модуль под вашу структуру. Тестируем под разными пользователями. Всё удалённо, обычно 1–2 дня.

Работает для залогиненных?
Да, по их правам. Каждый пользователь видит только то, что разрешено его ролью и access-уровнем.

Можно отключить проверку?
Технически — да, но не рекомендуется. Мы отключаем ACL только на полностью публичных лентах, где нет закрытого контента.

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

Нужен безопасный AJAX?

Настроим с учётом ваших правил доступа. Проверим на всех типах пользователей. Бесплатный аудит — без обязательств. Пришлём расчёт в течение 1 рабочего дня.

Обсудим задачу →
8 (950) 442-49-00 reemake@inbox.ru Max Messenger Max

с 8:00 до 20:00 (МСК)

г. Пермь