如何在Python中安全地存储数据库密码?

dot*_*hen 7 python database security passwords

在PHP中,保护数据库登录凭据的可接受方法是将它们存储在Web根目录之外,并将include()其存储在带有密码的文件中.MySQL数据库登录凭据如何安全地存储在Python应用程序中?

von*_*hev 5

好吧,一种方法是将密码放在一个与项目一起部署的单独的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']
Run Code Online (Sandbox Code Playgroud)