← Усі оновлення
БезпекаКонтрольСтабільність

5.0.5: вхід із кодом, журнал дій і база, що сама стає швидшою

Адмінка тепер уміє просити код із телефона на вході, записує, хто і що змінив у магазині, а база даних сама переїжджає на сучасний рушій — порціями по 120 секунд на годину, без вашої участі. Існуючі сайти після оновлення працюють рівно так, як працювали: адреси, дані й теми не змінюються.

9 вересня 2026Білди 5.0.5-b446

Це оновлення не додає нових вітринних кнопок. Воно про три речі, які власник магазину помічає лише тоді, коли їх немає: чужий не зайде в адмінку з украденим паролем, завжди можна побачити, хто змінив ціну чи статус замовлення, і сайт не «зависає» під час імпорту прайсу.

2кроки для входу в адмінку
90 днівісторії дій за замовчуванням
0змінених адрес, даних і тем
120 смаксимум роботи конвертера бази за годину

Вхід в адмінку з підтвердженням із телефона

Паролі витікають: із чужого сервісу, з поштової скриньки, з ноутбука менеджера. Тепер один пароль нічого не дає. Після нього адмінка просить шестизначний код із застосунку на телефоні — Google Authenticator, Microsoft Authenticator, 1Password чи будь-якого іншого. Код живе 30 секунд і ніде не пересилається.

Сторінка «Двофакторний захист» в адмінці ECMS9: QR-код і три кроки для увімкнення
Налаштування → Безпека → Двофакторний захист: відсканувати QR-код і ввести перший код
Другий крок входу в адмінку ECMS9: поле для коду з автентифікатора
другий крок входу: код із застосунку або резервний код
Порада: увімкніть захист кожному, хто має доступ до адмінки, а резервні коди збережіть там, де їх знайде власник, а не менеджер. Другий фактор — особистий: кожен акаунт вмикає його собі.

Журнал дій: хто змінив ціну о третій ночі

Ціна на товар раптом стала іншою. Замовлення зникло зі списку. З'явилась знижка, якої ніхто не давав. Раніше на питання «хто це зробив?» відповіді не було. Тепер є: адмінка записує кожну зміну з іменем користувача, часом, адресою, з якої зайшли, і тим, що саме було до і стало після.

Журнал дій ECMS9: зміна статусу замовлення, ціни товару, вхід адміністратора — з полями «було / стало»
журнал дій: статус замовлення, ціна товару, вхід в адмінку — по кожному полю видно старе й нове значення

Товари

Ціна, наявність, активність, видалення — з номером товару і старим значенням.

Замовлення

Зміна статусу, оплати, правка складу замовлення, видалення.

Налаштування

Кожне змінене поле налаштувань магазину — окремим рядком.

Користувачі

Створення, зміна ролі, блокування, видалення адміністраторів.

Модулі

Встановлення, вимкнення і видалення модулів.

Входи

Вдалі й невдалі спроби входу, зокрема з неправильним кодом.

На сайтах, які оновились, журнал вимкнений, доки ви не поставите одну галочку в Налаштування → Журнал дій — так ми не пишемо нічого без вашого відома. На нових інсталяціях він увімкнений одразу.

База даних сама стає швидшою й надійнішою

Магазини, що переїхали з ImageCMS, живуть на старому рушії таблиць MyISAM. Для покупця це виглядає так: поки з 1С вантажиться прайс, каталог «думає», бо старий рушій блокує всю таблицю на час запису. А після аварійного перезавантаження сервера така таблиця може лишитись битою. Сучасний рушій InnoDB блокує лише той рядок, який змінюється, і сам відновлюється після збою.

Переводити базу руками — довго й страшно. Тому ECMS9 робить це сама: планувальник щогодини бере невелику порцію таблиць і переводить їх, витрачаючи не більше двох хвилин за раз. Магазин тим часом працює.

Планувальник ECMS9 із завданням «База даних: переведення таблиць MyISAM на InnoDB»
планувальник: завдання переведення таблиць працює поруч із пошуком, Новою Поштою й ПРРО
01

Перевіряє умови

Вільне місце на диску, розмір таблиці, чи не кластер — інакше пропускає.

02

Бере порцію

Не більше 120 секунд роботи на годину, найменші таблиці — першими.

03

Переводить і записує

Кожен крок — у власний журнал: коли, яку таблицю, скільки тривало.

04

Повторює наступної години

Доки в базі не лишиться жодної старої таблиці.

На копії живого магазину зі 115 старими таблицями повний переїзд зайняв одну порцію; кількість записів у кожній таблиці до і після — однакова. Якщо хостинг чи адміністратор просить не чіпати базу, конвертацію вимикає один рядок у налаштуваннях сайту.

Що не змінилось — і чому це головне

Правило цього оновлення: жодного втраченого даного, жодної зміненої адреси. Перед публікацією ми прогнали 5.0.5 через копію живого магазину і звірили результат зі старою версією.

28адрес вітрини — HTML і SEO-розмітка ідентичні
299таблиць — кількість записів до і після однакова
52міграції бази — жодна не видаляє таблиць
1SQL-запит менше на сторінці категорії

Дрібніше, але корисне

Сайт не ходить туди, куди не треба

Вихідні запити з магазину (вебхуки, курси валют, API) більше не можна перенаправити на внутрішні адреси хостингу.

Ніяких паролів у коді

Стандартні паролі обміну з 1С прибрані з поставки; свій пароль зберігається лише у вигляді хешу.

Безпечні шаблони для нових сайтів

Нова інсталяція друкує дані з екрануванням за замовчуванням — вставити шкідливий скрипт через назву товару не вийде.

Пошук готовий до підключення рушіїв

Всередині з'явилась точка підключення зовнішнього пошуку — для великих каталогів у наступних версіях.

Ревізія безпеки

Пройдено десятий раунд аудиту: прибрано останні виклики eval, посилено обробку старих даних.

Маршрути фільтрів

Кілька брендів у фільтрі склеюються в одну адресу, повторний сегмент фільтра дає 404, а не дубль сторінки.

Як це отримати

Ядро оновлюється саме, якщо в панелі увімкнене автооновлення; інакше — кнопка «Перевірити оновлення». Актуальний білд — 5.0.5-b446. Після оновлення радимо зробити дві речі: увімкнути журнал дій і поставити собі двофакторний захист. Переїзд бази стартує сам і закінчиться за кілька годин — залежно від розміру каталогу. Якщо у вас своя тема — нічого робити не треба.

Питання по оновленню

Підкажемо, що це дає саме вашому магазину

Подивимось ваш сайт, скажемо, що з нового вмикати першим, і чи треба щось міняти в темі.

Написати в Telegram