Возможности

Что уже работает и как это устроено.

Конструктор страниц

Страница — это дерево: секции, внутри рядов колонки, внутри колонок блоки. Двадцать один вид блоков: обложка, карточки, галерея, отзывы, счётчики, лента событий, аккордеон, видео, карта, модуль сайта и произвольная разметка.

Настроенный блок, ряд или целую секцию можно сохранить в заготовки и вставить на другой странице.

Темы и модули

Тема объявляет позиции, модули раскладываются по ним и назначаются на пункты меню. Внешний вид настраивается панелью: типографика, ширины, логотипы, цвета.

Шаблон любого экрана переопределяется в теме, не трогая код компонента.

Что сделано для безопасности

Разметка

Свой очиститель по белому списку и корпус из 51 XSS-вектора в тестах. Сырой HTML — только по отдельному праву и только после очистки.

Запросы

Все обращения к базе — подготовленные выражения, имена колонок только из перечня. Изменяющие запросы проходят проверку токена.

Загрузки

Тип файла определяется по содержимому. Картинка с дописанной внутрь программой не принимается, исполнение в папке загрузок запрещено.

Вход

Двухфакторная проверка, ограничение попыток, журнал действий, смена идентификатора сеанса при входе и выходе.

Частые вопросы

Нужен ли Composer на хостинге?
Нет. В поставке нет внешних библиотек, автозагрузчик свой. Composer нужен только разработчикам для тестов.
Какая база данных нужна?
MySQL 8 или MariaDB 10.6. Для небольших сайтов и разработки подходит SQLite.
Можно ли перенести сайт со старой платформы?
Структура блоков конструктора намеренно повторяет прежнюю: страницы переносятся по форме, без ручной пересборки.
Как проверяется, что обновление не подделали?
Каждый выпуск подписан ключом Ed25519. Сайт проверяет подпись и контрольную сумму до распаковки, а перед заменой файлов делает резервную копию.
Под какой лицензией распространяется система?
GPL-2.0-or-later — свободно, с открытым кодом.