Intereting Posts
Управление резервными копиями: проблемы с пространством Измените внешний вид загрузчика мультимедиа Условное использование get_the_ID () не работает Отображать персонализированный пост на главной странице на основе выбора метабокса Ссылки авторов на домашней странице не идут на страницы автора Страницы Сообщение X of Y в файле single.php / sidebar.php Сортировка таксономий на основе каждой должности с использованием пользовательских типов сообщений и пользовательских таксономий Полнотекстовый поиск в сообщениях, отсортированных по релевантности get_the_terms get_term_meta как исходный SQL Категории отображения или подкатегории с именем и описанием в категории.php Найти файл url в сообщении и добавить его в медиа-библиотеку WordPress список дочерних страниц пользовательского типа сообщения Декальтрация пути загрузки WordPress Использование плагина проверки орфографии в TinyMCE Когда уместно ставить функции на шаблон страницы vs. functions.php?

Какой KSES следует использовать и когда?

Источник WP показывает, что wp_filter_kses и wp_filter_post_kses передаются данные, которые, как ожидается, будут экранированы с помощью слэшей.

С другой стороны, wp_kses_data передают данные, которые «не будут экранированы», а wp_kses_post имеет код, похожий на wp_kses_data.

Насколько безопасно передавать неизвестные (с точки зрения экранов) данные для этих функций?

Может ли первый набор быть предпочтительным по сравнению со вторым или предпочитает второй набор более безопасным?

Или это случай, когда вам абсолютно необходимо знать состояние ваших данных с точки зрения сокращения?

–Обновить–

Теперь я полагаю, что если вы не знаете, wp_kses_data( stripslashes_deep( $data ) ); ли данные, вы можете использовать wp_kses_data( stripslashes_deep( $data ) ); и запустите return, хотя addslashes (), если вам нужно сбежать в конце.

Solutions Collecting From Web of "Какой KSES следует использовать и когда?"

Из кода:

wp_filter_kses обычно должен быть предпочтительнее wp_kses_data, потому что wp_magic_quotes ускоряет $ _GET, $ _POST, $ _COOKIE, $ _SERVER и $ _REQUEST довольно рано в системе hook, вскоре после «plugins_loaded», но раньше «init» или «wp_loaded».

Тогда первый набор является предпочтительным. Больше вопроса о том, «снимает ли косые черты более безопасно, чем нет»? Они оба используют один и тот же разрешенный HTML. Ну да, это зависит, в абсолютных случаях, но я бы предположил, что это более безопасно, чем не.

Основное использование kses:

 $filtered = wp_kses($unfiltered, $allowed_html, $allowed_protocols); 

Все функции wordpress kses тогда просто делают

 $filtered = wp_kses($unfiltered, $allowedtags); 

ТАК:

 $filtered = wp_kses_data($unfiltered); $filtered = wp_filter_kses($unfiltered); // does the same, but will also slash escape the data 

варианты post используют другой набор тегов; которые разрешены для использования не администраторами.