jinja2: HTML Escape Variablen
Frage
Wie kann ich html-entkommen gefährlich aufpoliert Eingang in jinja2?
Kann ich es in der Vorlage oder muss es in Python-Code zu tun?
Ich habe eine Variable, die DA
Lösung
z.
{{ user.username|e }}
Rohr es durch die |e
Filter
Jinija: Template Designer Dokumentation -> Builtin Filter: Flucht
Andere Tipps
Sie können auch die Umwelt zu autoescape alles sagen:
e = Environment(loader=fileloader, autoescape=True)
Hinweis: in jinja1 dies auto_escape
Wenn Sie HTML in Ihrem Programm entfliehen möchten, können Sie es wie folgt (Beispiel) tun können:
>>> import jinja2
>>> jinja2.__version__
'2.6'
>>> a
'<script>alert("yy")</script>'
>>> jinja2.escape(a)
Markup(u'<script>alert("yy")</script>')
>>> str(jinja2.escape(a))
'<script>alert("yy")</script>'
Flask hat in tojson
Filter einen eingebauten:
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow