2024-04-19 19:18:24 发布
网友
我希望最终用户能够在线编辑他们的视图模板,所以它必须是安全的或“监禁”的,这样只有我明确推送到视图页面的对象才可以访问。在
也就是说,我不希望最终用户能够编写python代码,或者计算出我的连接字符串信息等等
django的视图模板标记对于这种类型的使用是否安全?在
Django模板在大多数情况下是安全的,但这是基于您暴露在模板上下文中的内容。在
最大的问题是向模板公开对象,因为所有方法都是传递的。对于传递到模板的最常见对象QuerySet来说尤其如此,并且最易受攻击。在
如果将项目从视图传递到模板
articles = Articles.objects.all()
我可以做以下事情
据我所知,Django模板对于这种代码是安全的。在
除了可以在模板中执行的简单循环/分支之外,唯一一种逻辑是注册为模板标记或过滤器的内容。TT或过滤器只能通过后端代码注册。在
在这里您可以看到一个模板标记和过滤器的列表:http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs大多数只处理字符串或日期等
干杯
编辑:您一定要确保settings对象在模板上下文中不可用。在
Django模板在大多数情况下是安全的,但这是基于您暴露在模板上下文中的内容。在
最大的问题是向模板公开对象,因为所有方法都是传递的。对于传递到模板的最常见对象QuerySet来说尤其如此,并且最易受攻击。在
如果将项目从视图传递到模板
我可以做以下事情
^{pr2}$据我所知,Django模板对于这种代码是安全的。在
除了可以在模板中执行的简单循环/分支之外,唯一一种逻辑是注册为模板标记或过滤器的内容。TT或过滤器只能通过后端代码注册。在
在这里您可以看到一个模板标记和过滤器的列表:http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs大多数只处理字符串或日期等
干杯
编辑:您一定要确保settings对象在模板上下文中不可用。在
相关问题 更多 >
编程相关推荐