Ash*_*han 33 python security django version-control django-settings
我使用Python和Django来创建我们存储在源代码控制中的Web应用程序.通常设置Django的方式,密码在settings.py文件中以纯文本形式显示.
以纯文本格式存储我的密码会让我遇到许多安全问题,特别是因为这是一个开源项目,我的源代码将受版本控制(通过git,在Github上,供整个世界查看!)
问题是,在Django/Python开发环境中安全地编写settings.py文件的最佳做法是什么?
Ash*_*han 43
虽然我无法在stackoverflow上遇到任何特定于Python的内容,但我确实找到了一个有用的网站,并且我认为我会与社区的其他人共享解决方案.
解决方案:环境变量.
注意:虽然Linux/Unix/OS X和Windows世界中的环境变量都相似,但我还没有在Windows机器上测试过这段代码.如果有效,请告诉我.
在你的bash/sh shell中,输入:
export MYAPP_DB_USER='myapp'
export MYAPP_DB_PASSWORD='testing123'
Run Code Online (Sandbox Code Playgroud)
在你的Django settings.py文件中:
DATABASE_USER = os.environ.get("MYAPP_DB_USER", '')
DATABASE_PASSWORD = os.environ.get("MYAPP_DB_PASSWORD", '')
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果环境变量不存在,则用户名和密码将默认为空字符串.
| 归档时间: |
|
| 查看次数: |
10680 次 |
| 最近记录: |