一尘不染

我应该何时在Django的模板系统中使用转义和安全?

django

如果我有一个供人们发表评论的框,然后以这种方式显示该评论…我应该逃避吗?

{{ c.title }}

阅读 332

收藏
2020-04-03

共1个答案

一尘不染

实际上,这取决于。Django的模板引擎会自动转义,因此你实际上并不需要转义。

如果你像这样添加模板过滤器“ safe”,{{c.title|safe}}那么你确实需要担心诸如html注入之类的事情,因为“ safe”将字符串标记为字符串,这意味着它不会被转义。

还有一个{%autoescape on%} ... {%endautoescape%}模板标签,如有必要,可以将“ on”更改为“ off”。默认情况下,它处于启用状态,不需要标签。

默认情况下,其他模板引擎可能不会转义,Jinja2是其中之一。

2020-04-03