PostgreSQL - 将数据库凭据存储在 Apache2 httpd.conf 中


PostgreSQL - storing db credentials in Apache2 httpd.conf

我有一个需要连接到Postgres数据库的PHP应用程序,如果我能提供帮助,我不想将凭据存储在Web树之外的配置文件中。我安装了 pgsql 模块。

我读了这篇SO帖子,喜欢将它们放在httpd.conf中的想法

我想知道是否有人找到了一种在httpd.conf中存储PostgreSQL数据库凭据的方法。

我所知,PostgreSQL PHP模块没有预定义的php.ini指令,就像MySQL PHP模块一样:

http://php.net/manual/en/ini.list.php

php_value mysql.default.user      myusername
php_value mysql.default.password  mypassword
php_value mysql.default.host      server

谢谢

这里有几个选择。

  1. 如果可以的话,最好的选择是使用证书身份验证和客户端证书。

  2. 如果可以的话,第二个最佳选择是使用 .pgpass 文件,该文件会将其存储在运行 Apache 的用户的主目录中。

  3. 第三个选项是可以使用mod_rewrite来设置PGUSERPGPASSWORD环境变量。 请注意,这是非常危险的,因为服务器上的任何人都可以访问环境并了解用户名和密码。