Гостевая книга
Учебный проект 5 из 12: Модель сообщения, модерация, escaping и постраничный вывод.
Гостевая книгаПостановка
Модель сообщения, модерация, escaping и постраничный вывод.
Архитектура
MessageCommand содержит имя и текст, ModerationPolicy определяет состояние, Repository хранит записи, Presenter экранирует вывод без изменения оригинала.
Этапы
Добавьте создание pending‑сообщения, просмотр очереди, решение модератора и курсорную или страничную выдачу опубликованных записей.
Безопасность
Включите CSRF и rate limit, ограничьте длину, не разрешайте HTML по умолчанию и не показывайте технические признаки существования скрытой записи.
Чек-лист
Проверьте XSS‑строку, повторную отправку, границы длины, переходы pending→published/rejected и стабильный порядок при одинаковом времени.
Закрепите материал
Отметка, заметка, чек-лист и ответы остаются в localStorage этого браузера и не отправляются в аналитику.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.