Autoescape默认为jinja2(Flask)吗?

时间:2017-10-26 01:47:29

标签: python flask jinja2

我正在研究某些网站中的一些安全漏洞,并想知道jinja2默认是否启用了autoescape。根据Jinja文档(http://jinja.pocoo.org/docs/2.9/faq/#why-is-autoescaping-not-the-default),它没有,但是当我在一个新系统上测试应用程序时,它已启用(我可能不小心这样做了,但不确定。

任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:2)

根据flask documentation

除非自定义,否则Jinja2由Flask配置如下:

  

使用render_template()时,以.html,.htm,.xml以及.xhtml结尾的所有模板都启用了自动加载。

此外:

  使用render_template_string()时,

为所有字符串启用了自动加载。

最后:

  

模板可以使用{% autoescape %}代码选择加入/退出自动加载。

因此,虽然默认情况下jinja可能无法自动启动,但默认情况下flask会启用Jinja的自动转换功能。