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

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

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

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

— Все входные данные фильтруйте через sanitize_* перед сохранением и esc_* перед выводом.
— Для действий, меняющих данные, проверяйте nonce и права текущего пользователя.
— SQL собирайте через $wpdb->prepare(), а не конкатенацией строк.
— Любой файл проверяйте по MIME, расширению и пути, а загрузку — только через разрешённые типы.
— Не отдавайте в браузер лишнее: скрывайте служебные поля, ключи и внутренние ID.
— Для AJAX и REST отдельно валидируйте параметры, даже если форма уже проверена.
— Не доверяйте пользовательскому HTML: если он нужен, пропускайте только через строгий whitelist.

Хорошая привычка — прогонять код по этому списку перед коммитом. Тогда баги ловятся на уровне привычки, а не после жалобы пользователя.

Если выбрать только одно правило, пусть это будет связка: проверка прав, очистка входа и экранирование вывода. Она закрывает большую часть типовых дыр.
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.
editorial

Свежие посты в категории «Editorial Voice & Insider»

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

start

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

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

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