Описать проблему ↗

Формы и почта

Форма возвращает 403 после включения защиты сайта

После включения защиты форма возвращает 403. Разберём, как подтвердить ложную блокировку и восстановить отправку, не отключая защиту всего сайта.

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

403 означает отказ в доступе, но источник отказа нужно установить. Его может вернуть внешний защитный сервис, веб-сервер или само приложение. Совпадение с включением защиты — важная зацепка, однако похожее поведение бывает при неверных правах и проверке сессии. Поэтому сохраните время, адрес формы и ответ. Важно понять, дошёл ли запрос до приложения. Если его остановили раньше, изменение почтовых настроек или обработчика сохранения не повлияет на исходный отказ.

Что можно проверить самостоятельно

  1. Запишите время отказа, адрес формы и безопасный пример текста. Сравните короткую тестовую заявку с проблемным вариантом, не отправляя конфиденциальные данные ради воспроизведения.
  2. Проверьте, повторяется ли ошибка в новом приватном окне и другой сети. Это помогает заметить зависимость от сессии или адреса подключения, но не заменяет журнал блокировки.
  3. Сообщите название включённой защиты и последние изменения правил. Если панель показывает идентификатор события блокировки, сохраните его для сопоставления с конкретным запросом формы.

Как понять результаты проверки

После подтверждения ложного срабатывания корректируют конкретное правило и маршрут, сохраняя проверку данных на сервере. Если запрос дошёл до приложения, исследуют его собственные права и защитные токены. Слово Forbidden на странице не позволяет автоматически выбрать между этими вариантами. Специалист должен показать источник отказа и область изменения. Разрешение любого содержимого на всём сайте или отключение общей авторизации ради одной формы существенно шире необходимого ремонта и может скрыть настоящую причину.

Что проверяет разработчик

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

  1. Сохраните время, URL обработчика, код ответа и идентификатор события защиты. Сравните отправку короткого текста и сообщения, которое блокируется.
  2. Проверьте журнал WAF и серверный журнал. Если запрос до приложения не дошёл, изменение PHP-валидации не устранит отказ.
  3. Сравните гостя и авторизованного пользователя, наличие CSRF-токена и допустимый метод запроса. Не всякий 403 связан с защитой хостинга.

На что обратить внимание

Текст заявки может случайно совпасть с сигнатурой фильтра. Но такой же ответ встречается при неверных правах, просроченном токене или запрете маршрута.

Как исправляют причину

После подтверждения ложного срабатывания настройте узкое исключение для нужного правила и маршрута. Сохраняйте серверную проверку данных; полное отключение защиты форм открывает лишние возможности злоупотребления.

Как убедиться, что проблема решена

Повторите исходный безопасный текст и несколько обычных заявок. Проверьте, что остальные защищаемые маршруты сохранили ограничения и ошибки не маскируются сообщением об успехе.

Проверьте допустимый текст, который раньше блокировался, и обычное обращение. Затем убедитесь, что защита остального сайта осталась включённой и ошибки обработки отображаются понятно. Запишите изменённое правило и причину исключения. Если ограничение касалось только конкретной формы, проверка должна подтвердить именно эту узкую область, а не случайное снятие всех отказов доступа в проекте.