Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres接受任何密码_Postgresql - Fatal编程技术网

Postgresql Postgres接受任何密码

Postgresql Postgres接受任何密码,postgresql,Postgresql,我有以下代码连接到远程服务器上的数据库(连接脚本位于同一服务器上): 问题是,我可以将密码更改为任何形式,但连接仍然存在!说真的,见鬼 我的数据库可以由运行在不同服务器上的PHP脚本中的任何人连接到(如果您知道IP和db名称)吗 如何强制执行密码,我已经查看了下面的堆栈溢出页面,并按照他们说的做了,但仍然没有成功: 我正在运行带有PHP5.5和Apache2的Ubuntu12.04服务器。当然,您的postgresql数据库可以正确配置为仅与经过身份验证的用户连接,即使是来自特定IP/套接字的

我有以下代码连接到远程服务器上的数据库(连接脚本位于同一服务器上):

问题是,我可以将密码更改为任何形式,但连接仍然存在!说真的,见鬼

我的数据库可以由运行在不同服务器上的PHP脚本中的任何人连接到(如果您知道IP和db名称)吗

如何强制执行密码,我已经查看了下面的堆栈溢出页面,并按照他们说的做了,但仍然没有成功:


我正在运行带有PHP5.5和Apache2的Ubuntu12.04服务器。当然,您的postgresql数据库可以正确配置为仅与经过身份验证的用户连接,即使是来自特定IP/套接字的特定用户(Postgres中的角色)

一些考虑:

  • 你看到数据了吗?或者你可以直接连接到服务器吗?你能列出数据库吗

  • 查看您的应用程序,并根据每个角色、每个数据库、每个源设置适当的权限

  • 您是否向所有人授予访问
    mydatabase
    的权限?您授予了哪些角色访问权限

  • 数据库的表是否在公共方案中?允许公众进入

  • 是的,通过此配置,每个知道您的IP和数据库名称的人都可以连接到您的数据库


谢谢。我查看了pg_hba.conf,注意到这一行
host all 111.222.33.44/24 trust
,并将其更改为
host all 111.222.33.44/24 md5
,现在我的密码工作正常。当我认为你的答案正确时,我会把它标记为正确的。很乐意帮忙。是否只允许本地连接?或者您是否希望远程用户使用数据库(具有正确的凭据?)如果是,请查看
本地
行,而不是基于主机的连接。只有我有权访问服务器(希望如此),因此我不太在意远程连接。什么是我拥有的基于主机的连接?那么,您是说
local
行正在处理远程连接吗?似乎有点像谎言。。。(虽然我很确定这不是谎言,我只是个白痴哈哈)Local=本地连接/套接字<代码>主机tcp/ip连接。如果您仅从服务器运行的机器(例如通过WP站点)访问数据库,则不要使用主机行。因此,如果不需要远程IP连接到数据库服务器,请评论主机行!好的,我现在就做。
peer
是什么意思?
Database::$ErrorHandle = new PDO('pgsql:host=111.222.33.44;dbname=mydatabase;', 'postgres', 'mypassword', $db_settings);