मैं jinja2 में खतरनाक असंतुलित इनपुट से कैसे बचूं?jinja2: html escape variables
क्या मैं इसे टेम्पलेट के अंदर कर सकता हूं या इसे पायथन कोड में किया जाना चाहिए?
मेरे पास एक चर है जिसमें दा <ngero> u & एस वर्ण हो सकते हैं। मैं इसे जिन्जा 2
मैं jinja2 में खतरनाक असंतुलित इनपुट से कैसे बचूं?jinja2: html escape variables
क्या मैं इसे टेम्पलेट के अंदर कर सकता हूं या इसे पायथन कोड में किया जाना चाहिए?
मेरे पास एक चर है जिसमें दा <ngero> u & एस वर्ण हो सकते हैं। मैं इसे जिन्जा 2
उदा।
{{ user.username|e }}
|e
फिल्टर के माध्यम से पाइप यह
Jinija: Template Designer Documentation -> Builtin Filters: Escape
तुम भी autoescape के लिए सब कुछ पर्यावरण बता सकते हैं:
e = Environment(loader=fileloader, autoescape=True)
ध्यान दें: jinja1 में इस auto_escape
है यदि आप यो में एचटीएमएल से बचना चाहते हैं उर कार्यक्रम, आप इसे इस (उदाहरण) की तरह कर सकते हैं:
>>> 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>'
बोतल एक tojson
फिल्टर में बनाया गया है:
लिंक से ऊपर टूट, http://jinja.pocoo.org का उपयोग/दस्तावेज़/टेम्पलेट्स /? हाइलाइट = पाइप% 20safe # html-escaping –
और फिर टूटा हुआ http://jinja.pocoo.org/docs/dev/templates/#builtin-filters – silpol