如何隐藏SECRET_KEY?

问题描述 投票:0回答:1

我将SECRET_KEY放在secrets.json中,那个放在.gitignore中;在settings.py中,我从文件中读取了密钥。

底线:我的本地服务器正在读取密钥。但是,当我要生成git push heroku master时,会引发错误,未找到文件。这是可以理解的!我将其添加到.gitignore。相应的问题是:该怎么办?为什么不能建议将SECRET_KEY隐藏在一个单独的git隐藏文件中,如果那样的话我们不能将更改直接推送到服务器?

我在这里看到这种方式:我可以在settings.py中显式注册我的密钥,将其推送到服务器上,再次将其隐藏在文件中,并将其推送到github存储库中。

但是它有多安全? SECRETS_KEY仅对公共存储库隐藏吗?

django security secret-key
1个回答
0
投票

您正在正确处理机密,方法是不将这些机密未经加密地放入存储库中。要解决此问题,我通常要做的是在settings.py

中添加第二次检查
if os.path.exists('secrets.json'):
   # read secrets from json file
else:
    SECRET_KEY = os.environ['DJANGO_SECRET_KEY']

并且在heroku中,您将用the value that you want using config vars设置具有该名称的环境变量。这样,您的秘密可用于heroku和本地,但不会放入您的存储库中。

© www.soinside.com 2019 - 2024. All rights reserved.