Я использую Twig в моем проекте Symfony.Как включить autoescaping в Twig с помощью Symfony
Symfony должен включить autoescape by default. Однако он не делает этого по умолчанию, и после того, как я включу его вручную, он все равно не будет работать.
Я настроил Twig для автоматического удаления всех переменных.
Но это не фильтрует ничего. И HTML, и JavaScript не экранированы. Нет никакого пользовательского autoescape_service, и я не фильтрую переменные с |raw
или { autoescape false }
.
Я дважды проверил сгенерированную конфигурацию, чтобы убедиться, что значение не было перезаписано. В приложение/кэш/DEV/appDevDebugProjectContainer.xml под определение веточка службы аргументы заключаются в следующем:
<argument key="debug">true</argument>
<argument key="strict_variables">false</argument>
<argument key="cache">false</argument>
<argument key="autoescape">true</argument>
<argument key="exception_controller">twig.controller.exception:showAction</argument>
<argument key="autoescape_service">null</argument>
<argument key="autoescape_service_method">null</argument>
<argument key="charset">UTF-8</argument>
Есть еще один способ, который Twig переписывает вариант autoescape, что мне не хватает? Или как я могу заставить его включить?
Что вы думаете? Шаблонные переменные? Функции расширения Twig? – lxg
Переменные шаблона, объекты передаются в вид и часто свойства печатаются, например {{message.content}} – Waaghals