Отправка сообщений с передней части - дезинфицированные данные
-
16-10-2019 - |
Вопрос
У меня есть форма, которая позволяет любому зарегистрированному пользователю отправлять сообщение (это пользовательский тип поста - форум), и я использую wp_insert_post()
Чтобы вставить его в БД.
Из того, что я видел в этой функции, функция sanitize_post () работает автоматически, но я думаю, что это только обрабатывает DB сбегание и тому подобное.
Итак, как я дезинфицирует входные данные так же, как и редактор WP-ADMIN? Я имею в виду применить фильтр KSES и все остальное ...
Решение
Когда сообщение создается/отредактировано от администратора, redit_post () вызывается.
Эта функция просто собирает все аргументы $ _post и передает их WP_UPDATE_POST ().
wp_update_post () затем делает несколько более логических проверок и передает данные вдоль wp_insert_post ().
wp_insert_post () вызывает sanitize_post (), который выполняет всю тяжелую дезинфекцию.
Итак, да, wp_insert_post () является правильный способ сделать это.
Другие советы
Отто сделал блог об использовании KSE в прошлом году, посмотрите, поможет ли это.
http://ottopress.com/2010/wp-quickie-kses/