Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Отвалились формы и загрузка файлов? Возможно, это не ваш код ⚠️



Если у вас на сайте отправка через fetch + FormData или загрузка файлов на PHP-хостинге и сегодня вы ловите 403 Forbidden, хотя вчера всё работало, это не ваша ошибка.

21 октября утекли данные о двух критических уязвимостях PHP (CVE-2026-109618 и CVE-2026-109619, 9,2 из 10). Дыра в обработке загрузки файлов позволяет выполнить чужой код на сервере. Хостинги и Cloudflare срочно включили защиту WAF (фильтр, который режет подозрительные запросы до того, как они дойдут до сайта). Под раздачу попадают запросы multipart/form-data, а именно его браузер и шлёт, когда вы используете FormData.

Как понять, что это оно
В DevTools → Network запрос к PHP возвращает 403, content-type: text/html, заголовка X-Powered-By нет, зато есть Server: openresty. Через curl с application/x-www-form-urlencoded тот же адрес отвечает нормально, а с -F (multipart) снова 403.

Как починить прямо сейчас (если файлов нет)
Замените FormData на URLSearchParams и явно укажите Content-Type: application/x-www-form-urlencoded. PHP трогать не нужно, $_POST разберёт всё сам.

Что останется сломанным
Загрузка файлов: через urlencoded их не передать. Патч PHP уже вышел, но хостинги обновляются не сразу. Пока они не обновят PHP или не добавят исключение в WAF, остаётся писать в поддержку или временно перейти на base64 (это уже с правкой PHP).

Мораль: если отвалился код с FormData, первым делом смотрите в ответе заголовки Server и X-Powered-By. Если их нет, это не ваш баг, а WAF.

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

Я собираю проекты в коде и сам решаю, где и как они работают:
• Next.js + React + TypeScript — быстрые сайты, которые хорошо видят поисковики
• Tailwind — вёрстка без тяжёлых тем и плагинов
• Supabase / Postgres — база данных, заявки, личные кабинеты
• Telegram- и MAX-боты с оплатой и ИИ-ассистентами
• Свой сервер или Vercel — без зависимости от конструктора

Если устали от плагинов, обновлений и внезапных поломок и думаете переехать с CMS — пишите в личку, помогу перенести сайт и ничего не потерять 👉 @denis_lishkov

Сохраняйте, чтобы не искать, и проверьте свои проекты 🔖

Новость на Shazoo

🌐 lishkov.com
Просмотры: 4
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти