gpt4 book ai didi

python - "Correct"在python网站中存储postgres密码的方法

转载 作者:行者123 更新时间:2023-11-28 17:47:27 26 4
gpt4 key购买 nike

我正在用 Python(在 Linux 系统上的 Apache 服务器上)编写一个需要连接到 Postgres 数据库的 Web 应用程序。因此,它需要数据库服务器的有效密码。在我的 Python 文件中硬编码密码似乎不太令人满意。

我确实想知道使用 .pgpass 文件,但它需要属于 www-data 用户,对吗?默认情况下,没有/home/www-data 目录,这是我希望存储 .pgpass 文件的地方。我可以只创建这样一个目录并将 .pgpass 文件存储在那里吗?如果不是,那么让我的 Python 脚本连接到数据库的“正确”方法是什么?

最佳答案

无论您使用何种方法,以 www-data 运行的其他应用程序都能够读取您的密码并以您的身份登录数据库。使用 peer 身份验证不会帮助您,它仍然会信任在 www-data 下运行的所有应用。

如果您希望您的应用程序能够将其数据与其他数据库隔离开来,您需要将其作为单独的用户 ID 运行。主要的方法是:

  • 使用 apache suexec 模块以独立用户身份运行脚本;
  • 使用 fast-cgi (fcgi) 或 scgi 以不同的用户身份运行 cgi;或
  • 让应用运行自己的最小 HTTP 服务器并为其配备 Apache 反向代理

其中,到目前为止最好的选择通常是使用 scgi/fcgi。它让您可以轻松地以不同的 unix 用户身份运行您的应用程序,同时避免了反向代理的复杂性和开销。

关于python - "Correct"在python网站中存储postgres密码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15895788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com