ssh*_*rma 1 python django heroku
我在 Django 中创建了一个应用程序,为其实现了电子邮件服务。它运行良好,但现在,我必须将应用程序部署到服务器(Heroku)。
现在,为了使用 django 配置电子邮件服务,需要在 settings.py 文件中添加某些属性,例如 EMAIL_HOST_PASSWORD、EMAIL_BACKEND...
我担心的是关于 EMAIL_HOST_PASSWORD 属性,这也可以部署吗?此属性会存在任何安全问题吗?
是的,您可以部署该变量。Heroku 遵循 12 因素应用程序 ( https://12factor.net ) 模型,该模型规定这些类型的设置是通过环境变量提供的(请参阅https://12factor.net/config)。在您的settings.py文件(或适合您的框架的任何文件)中,您将拥有类似以下内容:EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', 'default').
您通过以下命令提供环境变量heroku config:set:heroku config:set EMAIL_HOST_PASSWORD=value。如果您在 Heroku 上配置了任何数据库,您也会看到该变量DATABASE_URL。
安全性更加微妙——一方面,将密码与源代码分开总是一件好事;另一方面,将密码与源代码分开总是一件好事。另一方面,您信任提供商能够保护您的配置并将其与所有其他配置隔离。
您可能真的很偏执,只提供加密值。但随后你必须管理解密密钥等,而且它很快就会变得复杂。总的来说,我的立场是,信任像 Heroku 这样的提供商是合理的,除非您有非常具体的安全要求,在这种情况下,您可能应该考虑不同的基础设施/平台提供商。
| 归档时间: |
|
| 查看次数: |
2674 次 |
| 最近记录: |