首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django有没有用户可编辑的模板语言,就像rails有liquid一样安全?

问django有没有用户可编辑的模板语言,就像rails有liquid一样安全?
EN

Stack Overflow用户
提问于 2011-02-11 04:08:13
回答 2查看 1.4K关注 0票数 2

django有没有用户可编辑的模板语言,就像rails有liquid一样安全?

也就是说,最终用户无法破解模板代码来以某种方式输出危险对象并破解网站。

EN

回答 2

Stack Overflow用户

发布于 2011-02-11 04:20:55

如果您以正确的方式使用模板语言:是的。

请参阅Django模板标签和过滤器:

举个例子:

代码语言:javascript
复制
{{ evil_userinput }}

这将直接打印出用户的输入。

代码语言:javascript
复制
{{ evil_userinput|escape }}

这将避开所有HTML实体,因此不可能在您的HTML页面中包含危险代码。

票数 2
EN

Stack Overflow用户

发布于 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/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4962069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档