SQL-инъекция ломает не сайт, а доверие к любому полю ввода
SQL-инъекция возникает там, где запрос к базе собирают из текста пользователя. Достаточно одного поля — логина, поиска, фильтра, комментария, параметра в URL — и атакующий получает шанс подменить логику запроса.
Что снижает риск:
— подготовленные запросы вместо склейки строк;
— валидация по типу: число, email, список допустимых значений;
— принцип минимальных прав для аккаунта БД;
— запрет на вывод ошибок SQL пользователю;
— экранирование не как основа защиты, а как дополнительный слой.
В WordPress особенно опасны самописные плагины, AJAX-обработчики и админские формы, где разработчик доверяет `$_GET`, `$_POST` или `$_REQUEST`. Если запрос строится вручную через конкатенацию, уязвимость часто уже есть.
Проверьте код на места, где пользовательские данные попадают в `SELECT`, `UPDATE`, `DELETE` и `ORDER BY`. Для фильтров используйте белые списки, а не попытки «почистить» строку — так вы убираете саму возможность подставить лишнюю логику. Один безопасный шаблон запроса лучше десяти фильтров и костылей.
Защита WordPress от взломов
@wp_security_guard_ww
SQL-инъекция ломает не сайт, а доверие к любому полю ввода
Этот пост опубликован в Telegram-канале Защита WordPress от взломов. Подписаться можно по ссылке: @wp_security_guard_ww.