在环境变量中使用SECRET KEY比在未跟踪的设置文件中更好吗?

时间:2018-02-16 17:52:35

标签: django django-settings secret-key dev-to-production

在项目的settings.py文件分为基础,开发和生产的情况下,仅在VCS中跟踪基础文件。如果在生产设置文件中对SECRET_KEY进行硬编码,是否会出现问题。或者将它在环境变量中更好的选择?如果是这样,为什么?

从系统中提取它是否比文件中的纯文本更安全?

1 个答案:

答案 0 :(得分:1)

我想说两种方法的安全性是相同的。写入文件(未提交给源代码存储库)或作为环境变量具有相同的效果。

如果您的系统以某人访问服务器的方式受到威胁,则这两种方法都会泄露您的安全密钥。所以,它没有多大区别。

现在,我想说使用环境变量是一个更好的策略。但与安全无关。但通常依靠未提交的文件来运行项目并不是一个好主意。这是我机器中着名的工作问题的原因之一。而且它也使新项目的项目初步设置变得困难。

对于这种设置和配置管理,有一个很棒的python库叫Python Decouple。值得一试。我在我使用的每个Django项目中使用它。