Очистка данных, поступаемых с фронтенда
Подскажите, пожалуйста, какая наиболее хорошая практика использования встроенных функций очистки строк в WP (sanitize_ и esc_) лучше всего подходит для сайта, где много данных заполняется пользователями с фронтенда? Т.е. те данные, которые добавляются на сайт с помощью функций wp_insert_post() и update_post_meta()?
Прочтите эту статью: Проверка (валидация) входящих/исходящих данных
А также каждую из указанных функций: sanitize_text_field(), esc_html()
Если коротко, то хорошая практика - это в самом конце прям перед выводом на экран использовать esc_*() и в самом начале сразу при получении данных использовать sanitize_*(). Разумеется в целях логики кода и удобности можно отходить от этих правил, но их нужно иметь ввиду...
Также встроенные функции обертки вроде wp_insert_post(), update_post_meta() автоматически защищают передаваемые данные от SQL инъекций. Т.е. в БД можно писать без очистки, но выводить потом желательно с очисткой. Выводить всегда хорошо с очисткой, не всегда нужно очищать входящие данные, хотя я например стараюсь их очищать всегда, когда это допустимо.
Спасибо, это хорошая статья. Просто отдельно по этим функциям были не очевидны многие тонкости.