К содержанию
Реклама

Популярные материалы о MODX Revolution

Проблемы с modx.pro и документацией.

Последние недели сайт периодически отваливался по таймауту, иногда вместе с соседними проектами на том же сервере. Разобрался. Коротко: за сутки к modx.pro приходит 428 тысяч запросов при живой аудитории меньше тысячи человек в неделю. Расскажу, кто их делает и что с этим сделано.

Читать далее, Проблемы с modx.pro и документацией.

PHP2Shell: критические уязвимости PHP от 21 октября 2026

Краткая статья для тех, кто, на бронепоезде, как и я, зашёл в том числе и на профильный modx.pro в поисках практических рекомендаций для MODX помимо релизов PHP и сообщений провайдеров, собрал немного инфы и порядок действий.

Что же произошло

21 октября 2026 года были обнаружены, а следом и опубликованы исправления двух критических уязвимостей PHP CVE-2026-109618 и CVE-2026-109619, обе с оценкой 9,2 по CVSS v4.0. В кулуарах в ходу название PHP2Shell, возможное последствие: выполнение кода без авторизации с правами процесса PHP.

Первая проблема связана с обработкой исчерпания памяти и некорректным состоянием данных запроса, вторая — с использованием состояния предыдущего запроса после освобождения памяти. Для отдельных сценариев атака подтверждена на mod_php и PHP-FPM.

Парни из PHP относят к группе риска все установки, обслуживающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Поэтому нужен исправленный PHP.

Какие версии исправлены
Ветка / Релиз с исправлениями
8.2 / 8.2.35
8.3 / 8.3.36
8.4 / 8.4.27
8.5 /8.5.12

PHP 8.1 и старше больше не получают обычных обновлений от проекта PHP. Для этого инцидента команда предоставила минимальные исходные backport-патчи для 7.4, 8.0 и 8.1. Пользователям этих веток нужно уточнить наличие исправленной сборки, либо переходить на поддерживаемую ветку ну и с проверкой совместимости конечно.

У дистрибутивов номер может отличаться от таблицы. Например, для Ubuntu 24.04 исправленный пакет PHP 8.3 указан как 8.3.6-0ubuntu0.24.04.13. Поэтому смотрим полный номер пакета и бюллетень поставщика, а не только 8.3.x
Читать далее, PHP2Shell: критические уязвимости PHP от 21 октября 2026

MiniShop3 1.14.2 - срочный securiy релиз и важное исправление доступов.

Вышел MiniShop3 1.14.2-beta1 — восемь исправлений, из которых шесть про безопасность, а одно вообще не давало работать: в админке магазина не мог ничего сделать никто, кроме первого пользователя сайта. Если у вас магазином занимается не владелец, а отдельный человек — обновляйтесь не раздумывая.

Читать далее, MiniShop3 1.14.2 - срочный securiy релиз и важное исправление доступов.
Вопросы
Есть решение

modx3 API MiniShop3\\Processors\\Gallery\\GetList не выводит изображения в ответе

Всем привет. Пытался использовать Minishop3 API для вывода 1 изображения товара:

$response = $modx->runProcessor(
    'MiniShop3\\Processors\\Gallery\\GetList',
    ['productId' => 123],
    ['processors_path' => $modx->getOption('core_path') . 'components/minishop3/src/Processors/']
);

if (!$response->isError()) {
    $images = json_decode($response->getResponse(), true);
} else {
    $error = $response->getMessage();
}

В ответе: {«success»:true,«total»:0,«results»:[]}

Хотя изображение в товаре с ID 123 есть, что я делаю не так?
Комментарии →

Обновления MODX.pro - работа не всегда заметна

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

Читать далее, Обновления MODX.pro - работа не всегда заметна

Временный плагин: лечим ошибку 403 при блокировке multipart/form-data хостером

Решение ошибки 403 Forbidden при сохранении документов в MODX (Хостинг Beget)



После недавних новостей о критической уязвимости в PHP, хостинг-провайдер Beget превентивно ввел жесткие ограничения безопасности (Уязвимость в PHP от 21.10.2026). В частности, хостер временно ограничил обработку POST-запросов типа
multipart/form-data
.
Читать далее, Временный плагин: лечим ошибку 403 при блокировке multipart/form-data хостером

msCatalyst: фильтр, поиск и синхронизация каталога для miniShop2 и MiniShop3 (бывший msFacets)

msCatalyst: фильтр, поиск и синхронизация каталога для miniShop2 и MiniShop3 (бывший msFacets)
Привет! Недавно я публиковал здесь заметку про msFacets, фасетный фильтр для miniShop2 и MiniShop3. С тех пор план поменялся. После той заметки мне написали пользователи: фильтр нужен, но каталог сначала надо как-то загрузить и потом держать в актуальном виде. По их отзывам я добавил импорт, экспорт и синхронизацию каталога с 1С, Google Таблицами, файлами и любым API. Название msFacets про это не говорит, поэтому компонент теперь называется msCatalyst. Сейчас актуальная версия — 1.5.3. Пакет с защитой лежит на modrepo.ru: в Управлении пакетами добавьте провайдер
https://modrepo.ru/extras/
и установите msCatalyst оттуда. modstore.pro пока не трогаем. Старую заметку я удалил, чтобы вы не искали пакет под прежним именем. Если вы успели её прочитать или прокомментировать, извините за путаницу.

Демо-сайт: chelnysite.ru. Там каталог на 100 000 товаров в 12 разделах. Над выдачей видно, сколько миллисекунд фильтр считал на сервере и сколько занял весь запрос из браузера. Выберите бренд, цвет и размер сразу или поищите «кросовки» с опечаткой. Английская версия того же каталога работает на Localizator: chelnysite.ru/en/.


Читать далее, msCatalyst: фильтр, поиск и синхронизация каталога для miniShop2 и MiniShop3 (бывший msFacets)

ИИ-чат внутри сайта, который работает с данными самого сайта, через gtsAPI.

ИИ-чат внутри сайта, который работает с данными самого сайта, через gtsAPI.
ИИ-чат внутри сайта на MODX, который работает с данными самого сайта, через gtsAPI. Отвечает на вопросы по таблицам, разбирает приложенные файлы и правит записи — но только с подтверждением и с кнопкой отката. Доступ к данным идёт через gtsAPI, поэтому потолком остаются права того пользователя, от чьего имени открыт чат: ИИ не может больше, чем человек. Для сводных цифр есть второй путь — SELECT к базе отдельным пользователем MySQL с правом только на чтение, он описан ниже.

Читать далее, ИИ-чат внутри сайта, который работает с данными самого сайта, через gtsAPI.

MiniShop3 1.14.0: доменные события и исходящие вебхуки

В MiniShop3 1.14.0-beta1 появился механизм доменных событий и контракт для подключения исходящих вебхуков. Он позволяет отделить бизнес-логику магазина от логики интеграций и предоставляет разработчикам дополнений отдельную точку расширения.

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

В этой статье рассмотрим, зачем нужен механизм, как он устроен в v1.14.0-beta1 и какие возможности уже реализованы.
Читать далее, MiniShop3 1.14.0: доменные события и исходящие вебхуки

Stats3x - своя «Метрика» с вебвизором для MODX3, и всё у вас на сервере

Stats3x - своя «Метрика» с вебвизором для MODX3, и всё у вас на сервере


Хотелось видеть статистику сайта прямо в админке MODX и не отдавать данные посетителей внешним сервисам. Так появился Stats3x: посещаемость, источники, страницы, цели и запись действий посетителей — без Яндекс Метрики, Google Analytics и чужих скриптов на странице.

Всё локально

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

Запись действий — как Вебвизор

Главная фишка. Можно открыть запись визита и посмотреть, как человек ходил по сайту: куда кликал, что прокручивал, где застрял, где ушёл. На шкале отмечены клики, переходы, ввод и частые клики в одно место — сразу видно, где посетитель злился, потому что кнопка не нажималась.

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

Рядом — карта кликов: тепловая карта поверх самой страницы, отдельно для компьютеров, планшетов и смартфонов, с линиями глубины прокрутки.
Читать далее, Stats3x - своя «Метрика» с вебвизором для MODX3, и всё у вас на сервере