Перейти к содержимому

Security (Twig |raw)

WP2LMS Turbo рендерит контент из Gutenberg через Twig с фильтром |raw.

Это осознанное решение: HTML формируют доверенные редакторы WordPress (edit_posts и выше).

Контент не предназначен для:

  • пользовательского ввода с фронта (формы, комментарии без модерации);

  • untrusted third-party embed без sandbox.

  • Тело компонентов: 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 вывод экранируется

  1. Не давать unfiltered_html ненадёжным ролям.

  2. Custom HTML (core/html) — passthrough; аудит контента перед публикацией.

  3. При интеграции внешних источников — санитизировать на границе transformer (wp_kses_post).