django 是否有像 rails 一样安全的用户可编辑模板语言?
即最终用户无法破解模板代码以某种方式输出危险对象并破解网站。
请您参考如下方法:
如果您以正确的方式使用模板语言:是的。
查看 Django 模板标签和过滤器:
- http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#escape
- http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#autoescape
- http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#escapejs
一个例子:
{{ evil_userinput }}
这将直接打印出用户输入。
{{ evil_userinput|escape }}
这将转义所有 HTML 实体,因此不可能在您的 HTML 页面中包含危险代码。
