Intereting Posts
jQuery + больше не загружается в заголовке Преобразование php shortcode в виджет Использовать функциональность в стороннем плагине в моем собственном плагине Как переключить мой WordPress, чтобы указать на Parked Domain? Как преобразовать плагин в функцию Разбиение страниц на несколько запросов, объединяющихся в один цикл Моя форма входа не работает Радиокнопки обновляются в настройках Сайт имеет поддельных пользователей, зарегистрированных с похожим шаблоном в имени пользователя и электронной почте PHP-скрипт для перенаправления трафика на основе доступа к веб-сайту Как создать петицию как форму на основе пользовательских типов сообщений? Расширенные пользовательские поля и анализ ключевых слов SEO Yoast Как заказывать сообщения из категории по дате и количеству комментариев? иерархическая справка wp_list_pages синтаксическая ошибка – woocommerce

Какой 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 используют другой набор тегов; которые разрешены для использования не администраторами.