CMS, у якій безпека — це архітектура, а не плагін
Модульна система на чистому PHP 8.4 із Capability-Firewall, контролем цілісності ядра SHA-256 та вбудованим ШІ-асистентом. Кожен модуль працює лише з тим, що явно задекларував — усе інше блокується на рівні ядра.
Архітектура, якої немає в інших CMS
У типовій CMS будь-який плагін може читати всю базу даних. У FCE CMS модуль фізично не може зробити те, чого не задекларував у маніфесті.
Capability Firewall
Доступ до БД, HTTP-клієнта, файлів чи сповіщень модуль отримує тільки через задекларовані Capabilities. Несанкціонований запит — виняток на рівні ядра, а не «попередження в лог».
Цілісність ядра SHA-256
Integrity Checker звіряє хеші всіх файлів ядра при кожному запуску в production. Підмінений файл — система зупиняється, а не «працює далі з бекдором».
Ізоляція таблиць БД
Кожен модуль володіє лише власними таблицями. Читання чужих — тільки через явний список foreign_reads. UPDATE без WHERE неможливий фізично — ядро його відхилить.
Крос-модульні виклики за подвійною згодою
Модуль А викликає модуль Б лише тоді, коли Б явно експортував метод, а А явно задекларував намір його викликати. Відсутність будь-якої з декларацій — нуль дозволених викликів.
Статичний аналізатор модулів
Перед запуском кожен модуль сканується на небезпечні конструкції: eval, динамічні include, прямий доступ до суперглобалів. Підозрілий код не отримає жодної Capability.
Безпека користувачів із коробки
Двофакторна автентифікація TOTP з резервними кодами, відновлення пароля, CSP із nonce, double-submit CSRF, політика паролів — усе вбудовано, без жодного плагіна.
Безпечний шаблонізатор
У шаблонах немає сирого PHP. Кожна змінна автоматично екранується, а список доступних шаблону полів — білий список у маніфесті. XSS через шаблон неможливий за конструкцією, а не завдяки уважності розробника.
Нуль залежностей
Жодного vendor-каталогу із сотнями чужих пакетів. Увесь код, що виконується на сервері, — це ядро та модулі FCE CMS. Скомпрометований сторонній пакет фізично не може потрапити у систему.
Не маркетинг — виміряно по репозиторію
Ці цифри я не вигадую для сторінки — вони порахувані прямо з коду й оновлюються разом з ним.
автотестів PHPUnit покривають ядро та модулі
рядків PHP-коду в ядрі й модулях
міграцій бази даних — кожна зміна схеми версіюється
PHP-файлів ядра та модулів
мінімальна версія PHP — сучасний синтаксис без сумісності зі старим
поточна версія ядра за SemVer
FCE CMS проти типової CMS
Чесне порівняння з класичними CMS на плагінній архітектурі.
| FCE CMS | Типова CMS | |
|---|---|---|
| Ізоляція модулів на рівні ядра | Capability Firewall | плагін бачить усе |
| Контроль цілісності ядра | SHA-256 при кожному запуску | зовнішні сканери |
| Залежність від фреймворків | нуль — чистий PHP 8.4 | сотні vendor-пакетів |
| ШІ-асистент | вбудований, 9+ провайдерів | платні плагіни |
| Двофакторна автентифікація | TOTP із коробки | окремий плагін |
| Статичний аналіз коду модулів | перед кожним запуском | відсутній |
| Шаблони | автоекранування + білий список змінних | сирий PHP у шаблонах |
Усе потрібне — вже в системі
17 модулів, кожен зі своїм маніфестом безпеки. Вимкніть непотрібне — система стане ще легшою.