gpt4 book ai didi

ruby-on-rails - 即使密码错误,我也可以访问 Rails 上的 postgres 数据库

转载 作者:行者123 更新时间:2023-11-29 12:20:25 25 4
gpt4 key购买 nike

即使密码错误,我也能连接到我的本地 Postgres 数据库。以下是我创建角色和数据库的方式(我在 Mac OSX 上使用 Postgres 9.3):

psql postgres

CREATE ROLE role_name WITH ENCRYPTED PASSWORD 'role_password' NOSUPERUSER NOCREATEROLE NOCREATEDB LOGIN;

CREATE DATABASE db_name OWNER role_name;

\q

因此,当我在 Rails 上配置我的 database.yml 文件时,使用以下内容:

default: &default
adapter: postgresql
encoding: unicode
pool: 5

development:
<<: *default
database: db_name
username: role_name
password: this_is_a_wrong_password_ha_ha

并启动服务器 (rails s),一切正常:我可以使用迁移创建表并在其中创建/读取/更新/删除数据。

我什至可以在不提供角色和/或密码的情况下做到这一点。

如果角色名称和角色密码不正确,如何阻止对数据库的访问?我哪里错了?谢谢

最佳答案

这似乎是您的 /usr/local/var/postgres/pg_hba.conf 的默认设置。它允许任何本地连接访问数据库:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust

关于ruby-on-rails - 即使密码错误,我也可以访问 Rails 上的 postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28814310/

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