不正确的密码可以访问djang的数据库

2024-06-13 09:22:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了名为“user”的posgresql数据库用户。 密码:django1234。你知道吗

我输入数据库信息设置.py. 你知道吗

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'NAME': 'test',
    'USER': 'user',
    'PASSWORD': '1q2w3e',
    'HOST': 'localhost',
    'PORT': '5432',
    }
}

密码肯定不匹配。但是,当我运行服务器时,它可以访问“testdb”,这意味着,我猜,任何人都可以访问我的DB。有什么问题?你知道吗

先谢谢你。你知道吗


Tags: django用户namepy信息数据库default密码
2条回答

用户test@localhost的身份验证方法很可能是trust,这意味着Postgres没有请求密码来接受连接。请参考 the Postgres documentation了解更多详细信息。你知道吗

您可能已经在配置中设置了对trust的访问权限。在Debian/Ubuntu上检查pg_hba.conf文件,在postgresql10上检查它位于/etc/postgresql/10/main/pg_hba.conf(在Windows上检查“Program Files\PostgreSQL\data”这样的目录)。找到以下行:

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

并将其更改为:

host    all             all             127.0.0.1/32            md5

如果您的用户也是系统用户。你知道吗

然后用sudo systemctl restart postgresql重新启动服务器。在Windows上,可以使用PostgreSQL开始菜单文件夹中的“重新加载配置”快捷方式。你知道吗

相关问题 更多 >