Security (Twig |raw)
Модель доверия
Section titled “Модель доверия”WP2LMS Turbo рендерит контент из Gutenberg через Twig с фильтром |raw.
Это осознанное решение: HTML формируют доверенные редакторы WordPress (edit_posts и выше).
Контент не предназначен для:
-
пользовательского ввода с фронта (формы, комментарии без модерации);
-
untrusted third-party embed без sandbox.
Где используется |raw
Section titled “Где используется |raw”-
Тело компонентов:
props.content,item.content, inner blocks HTML -
Passthrough:
_passthrough→html -
Локальные стили:
localCssв_local_styles.twig
Где применяется экранирование
Section titled “Где применяется экранирование”-
URL:
esc_urlв Buttons, Image, Cover -
Текстовые атрибуты:
esc_attr/esc_htmlв transformers где возможно -
Twig autoescape включён в
TwigEnvironmentFactory— без|rawвывод экранируется
Рекомендации
Section titled “Рекомендации”-
Не давать
unfiltered_htmlненадёжным ролям. -
Custom HTML (
core/html) — passthrough; аудит контента перед публикацией. -
При интеграции внешних источников — санитизировать на границе transformer (
wp_kses_post).