На связи Коля! Я как-то писал, что агент пишет код по нормальным практикам. Так и есть: он не станет по своей воле оставлять дыру в форме или собирать запрос к базе склейкой строк. В этом смысле «из коробки» правда.
Но безопасность сайта ведь не только код. Здесь работает то же правило, что и во всем остальном: агент делает ровно то, о чем его попросили. Не попросили – не сделал. А по умолчанию никто не просит.
✨ Что забывают чаще всего:
— Заголовки безопасности. Их 6, и в свежем проекте обычно нет ни одного. Это базовая гигиена: запрет встраивать сайт во фрейм, принудительный HTTPS, контроль загрузки ресурсов. Настраивается один раз на сервере.
— Формы. Проверки в браузере недостаточно, ее легко обойти. Нужны серверная валидация, ограничение частоты отправок и простая защита от ботов. Иначе форма быстро превратится в источник спама.
— Секреты. Ключи от почты, платежей и других сервисов нельзя хранить в коде, который попадает в браузер. Исходник может посмотреть любой.
— Все, что за логином. Админки и ЛК главная цель для ботов. Предсказуемый URL, отсутствие лимита попыток, небезопасная загрузка файлов – все это перебирается автоматически.
— Персональные данные. Форма с телефоном это уже обработка ПДн. В России это отдельные требования, которые обязательно нужно закрыть до запуска.
Время практики. Попросите агента пройтись по проекту по этому списку. Главное нормально и по пунктам поставить ему задачу: заголовки, проверка форм на сервере, ограничение частоты, секреты в коде фронта, доступ к админке, загрузка файлов. Разница в результате заметная (как раз потому, что вы перестали надеяться, что он догадается сам).
Конечно, настоящая защита одним таким чек-листом не закрывается, особенно если на сайте ЛК, оплаты или чужие данные. Но этот минимум снимает большую часть типовых проблем, которые могут прилететь сайту после деплоя.
🌚 У кого сайт после запуска ловил ботов / спам через форму – что именно прилетало? Подозреваю, у многих одно и то же.