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

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

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

Начинают обычно с мелочей: вывод данных без экранирования, запросы к базе без подготовки и сохранение пользовательского ввода «как есть». Для плагина это быстрый путь к XSS, SQL-инъекциям и порче настроек.

Проверь эти точки в каждом модуле:
— все значения из формы проходят sanitization
— все данные перед выводом экранируются
— SQL строится через prepare, а не через склейку строк
— nonce стоит на всех действиях, меняющих данные
— права пользователя проверяются до любого опасного действия

Отдельно смотри на AJAX и REST-обработчики: там часто забывают про проверку capability и принимают лишние параметры. Ещё одна частая ошибка — доверять данным из GET, POST, cookie и meta-записей без валидации. Безопасный код не должен надеяться на «нормальный» вход.

Перед релизом прогоняй плагин по одному вопросу: может ли чужой пользователь заставить код сделать то, что не предусмотрено? Если ответ неочевиден — значит, место для правки уже найдено.
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.
tech

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

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

start

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

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

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