【问题标题】:How to prevent a site from allowing its users to provide their own templates如何防止网站允许其用户提供自己的模板
【发布时间】:2018-01-24 09:49:05
【问题描述】:

我正在开发一个网络应用程序,在 Django documentation 中我读到了这个:

模板系统对不受信任的模板作者不安全。例如,网站不应允许其用户提供自己的模板。

鉴于我不允许最终用户上传任何代码,我认为只有当用户能够以某种方式访问​​服务器并上传他的(恶意)模板或通过XSS 攻击。

还有什么我在这里遗漏并且应该注意的吗?为了防止这种情况发生,我是否必须采取任何其他措施(除了保护我的服务器和防范 XSS 攻击)?

【问题讨论】:

    标签: django security templates web web-applications


    【解决方案1】:

    模板代码不必在文件中。因此,可以创建一个 django 网站,用户可以在其中以常规形式提交 django 模板代码,就像您可以在 StackOverflow 上使用 markdown 一样。模板代码将存储在数据库的模型字段中。

    开发人员可能很想以这种方式使用 django 模板代码。例如,如果您使用 django 构建博客网站或论坛。

    您不需要任何特殊措施来防止这种情况发生。只有当您创建某种方式让用户提交您在服务器上执行的模板代码时,它才能被利用。

    【讨论】:

    • 我不打算为用户提供任何更新任何内容的方式,所以我认为我在这方面还可以。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 2018-04-01
    • 2017-09-27
    • 2020-09-22
    • 2011-06-09
    相关资源
    最近更新 更多