Безопасность кода плагина: 7 проверок, которые экономят часы разборов
Не делайте ставку на «потом проверю». В плагинах WordPress уязвимости чаще всего прячутся в рутинных местах: формы, AJAX, REST, загрузка файлов, запросы к БД.
— Все входные данные фильтруйте через sanitize_* перед сохранением и esc_* перед выводом.
— Для действий, меняющих данные, проверяйте nonce и права текущего пользователя.
— SQL собирайте через $wpdb->prepare(), а не конкатенацией строк.
— Любой файл проверяйте по MIME, расширению и пути, а загрузку — только через разрешённые типы.
— Не отдавайте в браузер лишнее: скрывайте служебные поля, ключи и внутренние ID.
— Для AJAX и REST отдельно валидируйте параметры, даже если форма уже проверена.
— Не доверяйте пользовательскому HTML: если он нужен, пропускайте только через строгий whitelist.
Хорошая привычка — прогонять код по этому списку перед коммитом. Тогда баги ловятся на уровне привычки, а не после жалобы пользователя.
Если выбрать только одно правило, пусть это будет связка: проверка прав, очистка входа и экранирование вывода. Она закрывает большую часть типовых дыр.
Создание плагинов для WordPress
@plugin_development_pro_ww
Безопасность кода плагина: 7 проверок, которые экономят часы разборов
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.