6
在PHP中,可接受的安全数据库登录凭证的方式是将它们存储在Web根目录之外,并将密码文件保存到include()
。 MySQL数据库登录证书如何安全地存储在Python应用程序中?如何在Python中安全地存储数据库密码?
在PHP中,可接受的安全数据库登录凭证的方式是将它们存储在Web根目录之外,并将密码文件保存到include()
。 MySQL数据库登录证书如何安全地存储在Python应用程序中?如何在Python中安全地存储数据库密码?
好吧,这样做的一种方法是把密码放在一个单独的config/ini文件中,这个文件是而不是与该项目一起部署。然后,传递给应用程序,例如主入口此文件的路径:
python main.py --config=/path/to/config.ini
请注意,你需要分析这个--config
说法(见argparse),然后读取并解析config.ini
文件。
更新: 既然你提到的Web应用程序,也有配置信息传递的另一种方式 - 通过environ
。例如,如果你使用mod_wsgi
,你可以在WSGI指令推杆这样的:
SetEnv my_namespace.some_param some_value
然后,这个值将访问应用程序通过os.environ
:
import os
os.environ['my_namespace.some_param']
你有什么到目前为止发现?研究PHP应用程序似乎没用,如果你想了解我眼中的Python实践。幸运的是,有很多Python代码在浮动,所以你的研究涵盖了什么? – hakre
我提到了PHP最佳实践,因为它是我熟悉的环境。至于Python,我发现只有混淆密码(base64之类)的建议,并确保Python文件不被其他人读取(0700权限)。我问这里是否有更好的方法。 – dotancohen
我使用密钥环库(https://pypi.python.org/pypi/keyring)并将实际凭据存储在操作系统的凭证存储实用程序中。这很容易实现,而且对我来说似乎相当安全。 – northben