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