Что на самом деле фильтруют unfiltered_html и unfiltered_upload?

8

Среди возможностей WordPress есть unfiltered_htmlи unfiltered_upload, однако, мне еще предстоит найти документацию о том, что конкретно они разрешают или запрещают в своей фильтрации.

Единственное упоминание, которое я нашел на сайте WordPress unfiltered_html:

Позволяет пользователю размещать HTML-разметку или даже код JavaScript на страницах, сообщениях, комментариях и виджетах.

Я видел, что JavaScript отфильтровывается для не-администраторов, но какой HTML фильтруется?

И для unfiltered_upload:

Эта возможность недоступна для любой роли по умолчанию (включая Super Admins). Возможность должна быть включена путем определения следующей константы:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Если эта константа определена, всем ролям в одной установке сайта может быть предоставлена ​​возможность unfiltered_upload, но только многопользовательской установке может быть предоставлена ​​возможность установки.

И опять же, в описании не прописано, что разрешено, а что отфильтровано.

Может кто-нибудь сказать мне, какие именно элементы, код или типы файлов unfiltered_htmlи unfiltered_uploadвозможности разрешают или запрещают?

j08691
источник

Ответы:

7

Трудно дать точный ответ, поскольку возможности часто используются более широко, чем они предполагают. Например, check for manage_optionsобычно является синонимом для проверки пользователя с правами администратора и может встречаться в контекстах, которые на самом деле не имеют ничего общего с опциями .

Обычно это будет разница между тем, что контент проходит или не проходит wp_kses(). Конкретные настройки kses и то, что считается допустимым, зависят от контекста и могут быть осторожны.

Для unfiltered_uploadнасколько я помню , это более простое. Без этого разрешены только белые типы файлов. Список основан на wp_get_mime_types().

Rarst
источник
1
В файле wp-includes/kses.php вы можете найти начальные значения $allowedposttagsи $allowedtagsмассивы, используемые функциями kses.
Майло,
Спасибо за объяснение. Похоже, типы MIME для загрузки можно найти на core.trac.wordpress.org/browser/tags/4.3/src/wp-includes/… . Есть идеи, где unfiltered_htmlможет лежать код, на который ссылаются ?
j08691
unfiltered_htmlразбрызгивается по всей базе кода. Быстрый поиск по источникам насчитывает более десятка различных файлов, упоминающих об этом.
августа
Может ли кто-то работать над этим. В настоящее время невозможно загрузить кошмарные носители. Ни один из плагинов не работает правильно. Wordpress - это CMS - да, верно. Является системой управления контентом MIS.
Джим Магуайр
1
этот вопрос буквально спас нам жизнь, мы несколько дней искали решение проблемы, которая была распространена, у нас есть пользовательский тип поста, которым должны управлять клиенты, генерирующие свои посты с помощью активных скриптов и файлов SVG, и, проблема была не в сохранении постов, а в том, что WP полностью их удалил. это дало нам правильное направление и право capна использование, спасибо
Kresimir Pendic
4

Я ценю, что это старая ветка, но ограниченный unfiltered_html вызывал у нас огромные проблемы на нашем новостном сайте.

Авторы (особый класс пользователей) обязаны размещать фотографии и видео в своей истории. В то время как фотографии не являются проблемой, встраивание iframe в страницу со встроенным видеокодом привело к исчезновению встроенного кода при сохранении их историй.

Если бы видео было добавлено для них редактором, авторы все равно потеряли бы iframe, когда они сохранили свои истории.

Сняв блокировку unfiltered_html, наши сотрудники могут встраивать видеоконтент и правильно размещать свои посты.

Что касается unfiltered_uploads, я считаю, что был дан ответ.

Надеюсь, это кому-нибудь поможет.

Джон Ле Февр
источник