Создание плагинов для WordPress

Безопасность кода плагина: 7 мест, где чаще всего прячутся дыры

Безопасность кода плагина: 7 мест, где чаще всего прячутся дыры

В WordPress-плагинах уязвимости обычно появляются не в «сложной логике», а в типовых местах: формы, AJAX, REST, загрузка файлов, запросы к БД. Если проверять только бизнес-логику, можно пропустить самое опасное.

Смотрите на код по этому чек-листу:
• все входные данные проходят валидацию и sanitization;
• для действий, меняющих данные, есть nonce и проверка прав;
• SQL строится через prepare, а не через склейку строк;
• вывод в HTML экранируется по контексту;
• файлы нельзя загрузить туда, где их можно исполнить;
• AJAX и REST не открыты «для всех» без необходимости;
• секреты, токены и ключи не лежат в коде в открытом виде.

Отдельно проверьте места, где данные переходят между контекстами: из формы в БД, из БД в шаблон, из запроса в админку. Именно там чаще всего забывают про escape, и один пропущенный вызов превращается в XSS или SQL-инъекцию.

Полезная привычка: перед релизом проходить плагин не по файлам, а по сценариям атаки — «что будет, если сюда пришлют мусор, чужой ID или HTML». Такой просмотр ловит больше ошибок, чем поверхностный код-ревью.
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.