Точний склад і перевірка архіву
Повний архів містить design, content, uploads, встановлені модулі та їхні шаблони, імпортовані дані, структуру сторінок, екземпляри модулів, налаштування без пароля MySQL і експорт усіх таблиць поточної БД. manifest.json фіксує формат, версію, розміри та SHA-256. Сесії, Git, вкладені копії, secrets.json і старий файл адміністратора не включаються.
ZIP створюється в storage/backups, закритому від HTTP. Перед відновленням система перевіряє сумісність формату й версії, межу 512 МБ для ZIP та 1 ГБ для розпакованих даних, максимум 30 000 файлів, відсутність абсолютних шляхів і сегментів .., дозволені каталоги призначення, розмір і SHA-256 кожного файла та експорт MySQL. Перед змінами автоматично створюється rollback-архів. Реквізити MySQL й адреса поточної установки зберігаються.
Додаткові правила захисту
Не надавайте користувачу MySQL WITH GRANT OPTION і обмежте його базою CMS. Не відкривайте через веб storage, src, modules, database, tools і tests. Для nginx вручну відтворіть заборони з .htaccess. У конфігурації Apache рекомендовано TraceEnable Off, ServerTokens Prod і ServerSignature Off. Адмінпанель застосовує суворий режим PHP-сесій, HttpOnly, SameSite=Strict, оновлення ID після входу, обмеження часу бездіяльності, абсолютний тайм-аут та обмеження спроб входу. За HTTPS cookie отримує Secure.
Після інциденту ввімкніть режим обслуговування, збережіть журнали та поточний архів, змініть паролі адміністратора, MySQL і зовнішніх інтеграцій, оновіть PHP та сервер. Потім розгорніть чисту CMS і відновіть перевірену копію, створену до інциденту; перевірте користувачів, ролі, шаблони й спеціальні коди.
Що містить архів
Переносима копія FoxCoreCMS включає дизайн, контент, завантаження, установлені модулі та їхні шаблони, структуру сторінок, налаштування й експорт MySQL. Маніфест фіксує версію формату, розміри та контрольні суми SHA-256. Пароль нової бази під час відновлення задається окремо.
Створення та відновлення
Створіть повний архів у розділі резервного копіювання. Зберігайте хоча б одну копію поза сервером сайту та перевіряйте відновлення на окремому тестовому середовищі. Для відновлення завантажте ZIP, дочекайтеся перевірки, підтвердьте операцію й після неї перевірте сторінки, мови, форми та медіафайли.
Система перевіряє формат, межі розміру та кількості файлів, шляхи всередині ZIP і контрольні суми. Не намагайтеся відновити неперевірений або змінений вручну архів.
Захист установки
- Використовуйте HTTPS та актуальну підтримувану версію PHP.
- Вимкніть показ помилок відвідувачам; використовуйте журнали сервера.
- Створіть унікальні паролі адміністратора й MySQL та обмежте права користувача бази.
- Захистіть storage, src, modules, database та інші службові каталоги від прямого HTTP-доступу.
- Не видаляйте installed.lock, .htaccess і .user.ini без розуміння наслідків.
Після інциденту збережіть журнали для аналізу, змініть паролі й ключі, оновіть сервер та відновіть чисту інсталяцію з перевіреної копії.

← Документація