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

Безопасность кода плагина: 7 проверок, которые ловят большинство дыр до релиза

Безопасность кода плагина: 7 проверок, которые ловят большинство дыр до релиза

Не доверяйте данным из POST, GET, REST и админки. Любое значение проверяйте на тип, длину и допустимые символы, а перед записью в базу — пропускайте через sanitize_* и prepare.

Для действий в админке и AJAX используйте nonce и проверяйте права через current_user_can. Если этого нет, любой авторизованный пользователь может вызвать чужую логику или подменить действие.

В запросах к базе не склеивайте SQL строками. Используйте $wpdb->prepare, а для вывода в HTML — esc_html, esc_attr, esc_url по месту. Для файлов и путей дополнительно проверяйте, что имя не вышло за пределы нужной директории.

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

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

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

start

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

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

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