Формы и почта
Форма возвращает 403 после включения защиты сайта
После включения защиты форма возвращает 403. Разберём, как подтвердить ложную блокировку и восстановить отправку, не отключая защиту всего сайта.
Что происходит и с чего начать
403 означает отказ в доступе, но источник отказа нужно установить. Его может вернуть внешний защитный сервис, веб-сервер или само приложение. Совпадение с включением защиты — важная зацепка, однако похожее поведение бывает при неверных правах и проверке сессии. Поэтому сохраните время, адрес формы и ответ. Важно понять, дошёл ли запрос до приложения. Если его остановили раньше, изменение почтовых настроек или обработчика сохранения не повлияет на исходный отказ.
Что можно проверить самостоятельно
- Запишите время отказа, адрес формы и безопасный пример текста. Сравните короткую тестовую заявку с проблемным вариантом, не отправляя конфиденциальные данные ради воспроизведения.
- Проверьте, повторяется ли ошибка в новом приватном окне и другой сети. Это помогает заметить зависимость от сессии или адреса подключения, но не заменяет журнал блокировки.
- Сообщите название включённой защиты и последние изменения правил. Если панель показывает идентификатор события блокировки, сохраните его для сопоставления с конкретным запросом формы.
Как понять результаты проверки
После подтверждения ложного срабатывания корректируют конкретное правило и маршрут, сохраняя проверку данных на сервере. Если запрос дошёл до приложения, исследуют его собственные права и защитные токены. Слово Forbidden на странице не позволяет автоматически выбрать между этими вариантами. Специалист должен показать источник отказа и область изменения. Разрешение любого содержимого на всём сайте или отключение общей авторизации ради одной формы существенно шире необходимого ремонта и может скрыть настоящую причину.
Что проверяет разработчик
Для этой части понадобятся доступ к настройкам, журналам ошибок или коду. Её можно передать специалисту вместе с результатами предыдущих шагов.
- Сохраните время, URL обработчика, код ответа и идентификатор события защиты. Сравните отправку короткого текста и сообщения, которое блокируется.
- Проверьте журнал WAF и серверный журнал. Если запрос до приложения не дошёл, изменение PHP-валидации не устранит отказ.
- Сравните гостя и авторизованного пользователя, наличие CSRF-токена и допустимый метод запроса. Не всякий 403 связан с защитой хостинга.
На что обратить внимание
Текст заявки может случайно совпасть с сигнатурой фильтра. Но такой же ответ встречается при неверных правах, просроченном токене или запрете маршрута.
Как исправляют причину
После подтверждения ложного срабатывания настройте узкое исключение для нужного правила и маршрута. Сохраняйте серверную проверку данных; полное отключение защиты форм открывает лишние возможности злоупотребления.
Как убедиться, что проблема решена
Повторите исходный безопасный текст и несколько обычных заявок. Проверьте, что остальные защищаемые маршруты сохранили ограничения и ошибки не маскируются сообщением об успехе.
Проверьте допустимый текст, который раньше блокировался, и обычное обращение. Затем убедитесь, что защита остального сайта осталась включённой и ошибки обработки отображаются понятно. Запишите изменённое правило и причину исключения. Если ограничение касалось только конкретной формы, проверка должна подтвердить именно эту узкую область, а не случайное снятие всех отказов доступа в проекте.