переменная «escape» перед передачей в шаблон в Django - PullRequest
0 голосов
/ 16 апреля 2011

Мне нужно передать HTML-код messages, и я делаю это с помощью шаблонов.

Чтобы заставить HTML работать, я отмечаю сообщение как безопасное в моем шаблоне:

{{message | safe}}

Однако, это оставляет меня открытым для атаки, так как я показываю пользовательский контент в сообщении. Например:

messages.success (запрос "Круто!" \ "% s \" теперь активно. "% user_toy)

Если user_toy сгенерирован пользователем, HTML будет удален. Как мне это исправить?

1 Ответ

0 голосов
/ 16 апреля 2011

Мне удалось это исправить, используя escape из django.utils.html:

из django.utils.html escape escape

messages.success (запрос "Awesome!"\ "% s \" теперь активно. "% escape (user_toy))

...