2024-06-26 18:01:30 发布
网友
我如何处理像github或任何其他公共域版本控制站点上的django这样的web框架的安全性。在
github
settings.py可以并且将经常包含敏感的数据库信息、密码和密钥,这些信息不能上载到存储库中,也不能以普通视图方式上载。在
settings.py
一般的做法是什么?最省事的方法是什么?在
正如@Selcuk提到的,12 Factor App为如何保护和隔离敏感信息提供了一个很好的指导。在
另一个答案是:Django settings: raise KeyError, raise ImproperlyConfigured or use defaults? 我解释了我倾向于使用的方法,以便尽可能接近12个因素准则。 分类:
创建一个.env或.ini文件,其中包含项目变量:
.env
.ini
DB_USERNAME=myDB DB_PASSWORD=for_your_eyes_only DEBUG=False MY_DJANGO_KEY=no_peeking_this_is_secret ...
.gitignore
.env.*
env.example
.
copy, paste, rename to .ini or .env
使用^{}读取配置文件:
在settings.py
from decouple import Csv, config DEBUG = config('DEBUG', cast=bool, default=True) SECRET_KEY = config('MY_DJANGO_KEY') ...
简单的回答:把它添加到你的.gitignore。也就是说,如果你打算分享你的Django应用,你至少要提供你为你的应用编辑的部分。在
我通常在每个阶段(开发、测试和生产)使用不同的settings.py。我唯一保留在版本控制上的是对应于开发的版本控制。另一个settings.py是内部的,在需要时,它们被复制到服务器的每个实例(测试和生产)。在
希望这有帮助。在
正如@Selcuk提到的,12 Factor App为如何保护和隔离敏感信息提供了一个很好的指导。在
另一个答案是:Django settings: raise KeyError, raise ImproperlyConfigured or use defaults?
我解释了我倾向于使用的方法,以便尽可能接近12个因素准则。
分类:
创建一个
.env
或.ini
文件,其中包含项目变量:.gitignore
文件中添加.env
和.env.*
或.ini
和{env.example
(注意不要在开头用.
命名,因为它将被忽略)。在该文件中,您可以简单地copy, paste, rename to .ini or .env
将预期配置的示例放入可重新生成。在使用^{} 读取配置文件:
在
settings.py
简单的回答:把它添加到你的
.gitignore
。也就是说,如果你打算分享你的Django应用,你至少要提供你为你的应用编辑的部分。在我通常在每个阶段(开发、测试和生产)使用不同的
settings.py
。我唯一保留在版本控制上的是对应于开发的版本控制。另一个settings.py
是内部的,在需要时,它们被复制到服务器的每个实例(测试和生产)。在希望这有帮助。在
相关问题 更多 >
编程相关推荐