django有没有用户可编辑的模板语言,就像rails有liquid一样安全?
也就是说,最终用户无法破解模板代码来以某种方式输出危险对象并破解网站。
发布于 2011-02-11 04:20:55
如果您以正确的方式使用模板语言:是的。
请参阅Django模板标签和过滤器:
举个例子:
{{ evil_userinput }}这将直接打印出用户的输入。
{{ evil_userinput|escape }}这将避开所有HTML实体,因此不可能在您的HTML页面中包含危险代码。
发布于 2011-02-11 04:19:07
Liquid源于Django模板语言,所以答案是肯定的。您可以呈现用户提交的模板,并以您想要的方式处理它们。然而,安全性是开发人员应该关注的问题。如果你想让你的用户搬起石头砸你的脚,模板工具将不会保护你,除非你清理并验证他们的输入。
以下是一些不错的读物:
http://www.djangobook.com/en/2.0/chapter04/
http://www.djangobook.com/en/2.0/chapter09/
http://loopj.com/2009/05/23/a-django-developers-views-on-rails/
https://stackoverflow.com/questions/4962069
复制相似问题