Злам інтернет-магазину на WooCommerce небезпечний не лише через шкідливий код. Зловмисники можуть змінити реквізити для оплати, отримати доступ до облікових записів, підмінити листи клієнтам або видалити частину замовлень. Тому поспішне відновлення «з резервної копії» іноді призводить до втрати нових заявок і платежів.
Завдання потрібно розділити на два напрямки: ізолювати заражений сайт і зберегти актуальні дані WooCommerce. Лише після цього можна очищати файли, перевіряти базу та повертати магазин у роботу. Якщо немає впевненості в діях, краще звернутися по безпечне відновлення WooCommerce до спеціаліста, який спочатку проведе діагностику.
Як ізолювати заражений магазин
Перший крок — не намагатися одразу видаляти підозрілі файли або встановлювати випадкові плагіни безпеки. Будь-яка зміна може знищити важливі сліди злому або пошкодити дані. Перед технічними роботами бажано створити повну копію файлів і бази даних, навіть якщо вони вже заражені. Така копія може знадобитися для аналізу та пошуку актуальних замовлень.
- Тимчасово обмежте доступ до адміністративної панелі, якщо зловмисник може продовжувати роботу із сайтом.
- Переведіть магазин у режим технічного обслуговування або обмежте доступ до нього через серверні правила.
- Не видаляйте файли
wp-content/uploadsта таблиці WooCommerce без попереднього копіювання. - Змініть паролі до хостингу, FTP або SSH, бази даних, WordPress і поштових скриньок із чистого пристрою.
- Перевірте, чи не створені нові користувачі WordPress із роллю адміністратора.
Якщо сайт використовується для приймання оплат, варто тимчасово призупинити нові транзакції або повідомити платіжного провайдера про інцидент. Це зменшує ризик того, що клієнти будуть переадресовані на підмінену сторінку чи сплатять кошти за зміненими реквізитами.
Як зберегти актуальні замовлення
Найціннішими даними магазину є замовлення, товари, інформація про оплату, статуси доставки та контакти клієнтів. Якщо відновити сайт зі старої копії, створеної до злому, нові замовлення можуть зникнути. Тому спочатку потрібно визначити, які дані з’явилися після дати резервної копії.
- Зафіксуйте дату й час, коли було виявлено злам, а також період, у який магазин працював підозріло.
- Створіть окрему копію поточної бази даних до будь-якого імпорту або відкату.
- Експортуйте замовлення з адміністративної панелі, якщо доступ до неї ще безпечний.
- Перевірте таблиці, пов’язані з WooCommerce, замовленнями, товарами та метаданими.
- Зіставте замовлення в базі з листами, повідомленнями платіжної системи, CRM і даними служби доставки.
Не варто вручну редагувати записи бази даних, якщо немає розуміння структури WordPress і WooCommerce. Некоректна зміна метаданих може порушити статуси замовлень, прив’язку товарів або відображення інформації в кабінеті адміністратора. Водночас повне видалення зараженої бази без попереднього аналізу може зробити відновлення частини замовлень неможливим.
Потрібно також перевірити, чи не були змінені суми, статуси або платіжні ідентифікатори. Дані про оплату слід підтверджувати не лише в WooCommerce, а й безпосередньо в кабінеті платіжного сервісу.
Очищення файлів бази та облікових записів
Очищення починають після збереження копій і збору інформації про інцидент. Перевіряють ядро WordPress, тему, плагіни, завантажені файли та конфігурацію сервера. Особливу увагу приділяють файлам, які не входять до штатної структури плагіна або містять обфускований PHP-код, підозрілі виклики eval, base64_decode, gzinflate та незрозумілі правила перенаправлення.
- Порівняйте файли ядра WordPress із чистою версією тієї самої редакції.
- Перевстановіть плагіни й тему з офіційних або перевірених джерел, якщо їхня цілісність викликає сумнів.
- Перевірте
wp-config.php,.htaccess, завдання Cron і налаштування PHP. - Проскануйте базу на підмінені URL, шкідливі скрипти, невідомі опції та підозрілі облікові записи.
- Видаліть або заблокуйте користувачів, яких не створював власник магазину.
Зміна пароля лише в WordPress не завжди достатня. Якщо зловмисник отримав доступ до хостингу або пошти, він може повторно проникнути на сайт. Потрібно перевірити всі активні сесії, ключі доступу, API-токени, паролі інтеграцій, доступи до резервних копій і права користувачів у панелі хостингу.
Якщо зараження торкнулося бази даних, не слід бездумно запускати масову заміну або видалення записів. Спочатку створіть копію, а ризикові операції виконуйте на тестовому середовищі. Після очищення потрібно переконатися, що замовлення, товари, купони та налаштування доставки залишилися працездатними.
Перевірка оплат листів і кабінетів
Після злому необхідно окремо перевірити всі канали, через які магазин взаємодіє з клієнтами. Навіть якщо сторінки виглядають нормально, у коді могли змінити адресу отримувача платежу, шаблон листа або URL платіжного шлюзу.
- Перевірте ключі та секрети платіжних систем, вебхуки й адреси callback.
- Порівняйте реквізити на сторінці оформлення замовлення з офіційними даними платіжного провайдера.
- Перегляньте шаблони листів WooCommerce і адресу, з якої надсилаються повідомлення.
- Перевірте SPF, DKIM і DMARC, щоб зменшити ризик підміни поштових повідомлень.
- Протестуйте вхід до кабінетів клієнта, відновлення пароля та відображення історії замовлень.
Тестові платежі проводьте лише після погодження з платіжним сервісом і за можливості в тестовому режимі. Окремо зіставте успішні транзакції з відповідними замовленнями в WooCommerce. Якщо є розбіжності в сумах, статусах або номерах платежів, магазин не варто повертати до повноцінної роботи до завершення перевірки.
Як безпечно повернути магазин онлайн
Повернення магазину онлайн має бути поетапним. Спочатку перевіряють очищену копію на тестовому домені або окремому середовищі, потім виконують функціональні тести й лише після цього переносять зміни на робочий сайт.
- Перевірте головну сторінку, каталог, пошук, картки товарів і кошик.
- Створіть тестове замовлення та перевірте зміну його статусу.
- Переконайтеся, що листи надходять правильному отримувачу й не містять підмінених реквізитів.
- Перевірте кабінети клієнта, права адміністраторів і роботу інтеграцій.
- Оновіть WordPress, WooCommerce, тему та плагіни після перевірки сумісності.
- Налаштуйте резервне копіювання файлів і бази даних із контролем успішності копій.
Після запуску варто кілька днів контролювати журнали сервера, нові облікові записи, зміни файлів, невдалі входи та платіжні повідомлення. Якщо знову з’являються перенаправлення, невідомі файли, помилки входу або підозрілі листи, сайт потрібно повторно ізолювати, а не просто видаляти симптоми.
Спеціаліст потрібен тоді, коли немає доступу до панелі, пошкоджена база, незрозуміло, які замовлення є актуальними, або злам зачепив оплату й пошту. Без діагностики неможливо чесно визначити обсяг пошкоджень, можливість збереження всіх даних і безпечний порядок відновлення.