Посетители могут сами зарегистрироваться и создать профиль. Две роли: администратор (админка) и участник (только свой профиль).
/register — регистрация: имя пользователя (3–40 символов), e-mail, пароль (мин. 8 символов), по желанию отображаемое имя./login — вход (по имени пользователя или e-mail). После 5 неудачных попыток с одного IP за 15 минут вход временно блокируется./profile — отображаемое имя, e-mail, сайт, «О себе»; смена пароля; удаление аккаунта (только для участников)./logout — только методом POST (в целях безопасности).Эти адреса занимают slug страниц login, register, profile, logout; если у вас есть страница с таким slug, переименуйте её.
Настройки сайта → Участники и регистрация:
Список и поиск (имя, e-mail, отображаемое имя), фильтр по статусу, подтвердить / заблокировать / активировать, редактирование (поля профиля, роль, статус, новый пароль), удаление. Защита: нельзя удалить, заблокировать или сменить роль собственного аккаунта; последнего активного администратора нельзя удалить, отключить или понизить. Открытая сессия заблокированного пользователя закрывается сразу.
Пароли хранятся через password_hash(); CSRF-токен во всех формах; скрытое поле-ловушка для ботов; лимит 5 регистраций в час с одного IP; тексты профиля не выводятся как HTML; участник не может войти в админку.
Подтверждения e-mail и восстановления пароля по e-mail (письма не отправляются), входа через соцсети, аватаров, публичных страниц профилей.
При переходе с 1.0.0 замените файлы, затем нажмите Настройки сайта → Обновить базу (миграция 002_members.sql). Ваш аккаунт администратора сохраняет роль «администратор». Сначала сделайте резервную копию базы.