OpenCart

Audit Log — журнал действий администраторов для OpenCart 2.3, 3.x и 4.x

Версия
v1.1.0 (OpenCart 4)
v1.1.0 (OpenCart 3.x)
v1.1.0 (OpenCart 2.3)
Совместимость
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 та 4.0.2 – 4.1.x
Платформа
OpenCart
Audit Log — журнал действий администраторов для OpenCart 2.3, 3.x и 4.x

Что внутри

  • Входы, неудачные попытки входа и выходы с IP
  • Изменения заказов: статус, состав, суммы, данные покупателя
  • Изменения товаров: цена, остаток, статус
  • Настройки магазина, пользователи и группы прав
  • Установка и удаление расширений
  • Detail-diff «было → стало» по каждому полю
  • Маскирование паролей, токенов и API-ключей на этапе записи
  • Фильтры по пользователю, действию, дате, IP и поиску
  • Экспорт CSV и автоочистка старых записей по расписанию (Pro)

Audit Log для OpenCart 4.x отвечает на вопрос, который рано или поздно возникает в каждом магазине с несколькими сотрудниками: кто изменил цену, кто отменил заказ, кто снял права доступа и когда именно это произошло.

Audit Log для OpenCart — журнал действий администраторов с фильтрами
Журнал действий: кто, когда, над каким объектом и что именно изменил, с IP и маршрутом. Фильтры по пользователю, типу объекта, действию, дате и IP.

Что записывается

Входы в админку, неудачные попытки входа и выходы; изменения заказов — статус, состав, суммы, данные покупателя; изменения товаров — цена, остаток, статус; категории, клиенты, настройки магазина, пользователи и группы прав, установка и удаление расширений.

Каждая запись содержит, кто сделал действие (пользователь, IP, браузер), когда, над какой сущностью, какое именно это было действие — и самое главное, подробный diff изменённых полей в формате «было → стало». Для прав доступа отдельно показывается, какие маршруты были сняты, а какие добавлены.

Audit Log для OpenCart — детали записи со сравнением было стало
Детали записи: каждое изменённое поле отдельной строкой — что было и что стало.

Секреты не попадают в журнал

Пароли, токены, API-ключи и соли маскируются на этапе записи, а не при показе — то есть физически не попадают в базу данных. При этом сам факт изменения секрета фиксируется: вы видите, что ключ платёжного модуля изменили, но не видите его значения. Это принципиальная разница: журнал, который хранит ключи, сам становится дырой в безопасности.

Поиск и хранение

Журнал фильтруется по пользователю, типу сущности, действию, диапазону дат, IP и произвольному поиску; есть пагинация и просмотр деталей записи в модальном окне. Ограничения хранения — по возрасту записей и по их количеству — настраиваются в бесплатной версии; автоматическая уборка по расписанию и экспорт отфильтрованного журнала в CSV входят в Pro.

Деинсталляция модуля снимает события и задачи крона, но не удаляет таблицу журнала: журнал, который стирается одним кликом, не является доказательной базой.

Бесплатная версия и Pro

Бесплатно: сама запись событий всех типов, журнал с фильтрами и пагинацией, детали записи с diff «было → стало», маскирование секретов, настройка того, что именно записывать.

Pro: экспорт отфильтрованного журнала в CSV, автоматическая очистка по расписанию (ежедневный cron убирает записи по возрасту и по лимиту количества) и запись изменений статусов заказов вне админки — оформление на витрине, callback платёжной системы, order API.

Audit Log для OpenCart — бесплатная версия с видимой границей Pro
Свежая установка — это бесплатная версия. Pro-возможности видно на своих местах с пометкой Pro, ничего не включается само собой.

Пробный период — только по вашему клику. Установка и сохранение настроек ничего не активируют. Если хотите посмотреть Pro — нажимаете «Попробовать Pro», вводите e-mail и сразу получаете ключ на 7 дней для этого магазина; он же дублируется письмом. Без карты, ничего не продлевается автоматически.

Audit Log для OpenCart — пробный период Pro на 7 дней по клику
Одно окно на два случая: попробовать 7 дней или вставить купленный ключ.
Audit Log для OpenCart — активная лицензия Pro и перечень возможностей
С активной лицензией видно дату, до которой она действует, и перечень того, что открыто.

Без нагрузки на админку

Запись не блокирует работу магазина: ошибка логирования никогда не валит страницу, а сохранение без реальных изменений не создаёт пустых записей. Замеры на демо-стенде не показали разницы в скорости админки с включённым и выключённым логированием.

История версий

1.1.0 (OpenCart 3.x) — сборка для 3.0.x доведена до той же модели, что 4.x и 2.3: лицензия проверяется на сервере с льготным периодом 14 дней, пробный период выдаётся только по вашему клику. Исправлены две вещи, которые были в выпуске 1.0.0 для 3.x: первое же сохранение настроек сжигало пробный период, который никто не запускал, а слушатель событий показывался в списке модулей второй строкой «Audit Log» с кнопкой «Установить». Обновление само перерегистрирует события, поэтому журнал не замолкает после замены файлов. Названия товаров и категорий с кавычками больше не показываются в журнале как HTML-сущности.

1.1.0 — записи снова работают на OpenCart 4.0.x: все модельные события переведены на формат со звёздочкой (на 4.0 ядро строит событие через слеш, на 4.1 — через точку, поэтому предыдущая запись с точкой на 4.0 не срабатывала и журнал оставался пустым). Смена статуса заказа из редактора админки теперь фиксируется и на 4.0, и на 4.1. Лицензирование переведено на стандартную модель CatCode: проверка ключа на сервере с льготным периодом 14 дней, пробный период только по клику, окно с двумя вкладками. Ежедневная лицензионная сверка больше не засоряет журнал собственными записями.

1.0.0 — первый выпуск: журнал действий администраторов с diff «было → стало», фильтры, маскирование секретов, CSV-экспорт и очистка по расписанию.

Частые вопросы

Попадут ли в журнал пароли и API-ключи?

Нет. Они маскируются ещё до записи, поэтому физически отсутствуют в базе. Фиксируется только сам факт изменения.

Журнал не замедлит админку?

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

База не раздуется за год работы?

Есть автоочистка по расписанию и настройки, какие именно типы событий записывать.

Что произойдёт с журналом, если удалить модуль?

События и крон снимаются, а таблица журнала остаётся — чтобы записи нельзя было уничтожить одним кликом.

Видно ли, какие именно права доступа изменились?

Да, отдельно показывается список снятых и добавленных маршрутов.

Вопросы по модулю?

Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.

@catcode_support

Не тот вариант, что искали?

Мы делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль