Python 如何通过psycopg2连接提高安全性?

Python 如何通过psycopg2连接提高安全性?,python,postgresql,security,psycopg2,Python,Postgresql,Security,Psycopg2,我有一个PostgreSQL数据库,我有一个使用数据库中的数据更新网站的脚本。在脚本中,我有以下代码: conn = psycopg2.connect('dbname=name user=user password=password') 是否有更好或更安全的方法连接到db而不在脚本中公开我的密码 Django中的settings.py文件也存在同样的问题。一种可能的方法是将密钥链存储在权限控制目录中,并使脚本读取该凭证文件以提取用户名和密码。通过这种方式,您可以屏蔽可以查看脚本但没有目录权限的

我有一个PostgreSQL数据库,我有一个使用数据库中的数据更新网站的脚本。在脚本中,我有以下代码:

conn = psycopg2.connect('dbname=name user=user password=password')
是否有更好或更安全的方法连接到db而不在脚本中公开我的密码


Django中的settings.py文件也存在同样的问题。

一种可能的方法是将密钥链存储在权限控制目录中,并使脚本读取该凭证文件以提取用户名和密码。通过这种方式,您可以屏蔽可以查看脚本但没有目录权限的凭据。

将其放入变量中,存储在模块/包中,并在脚本中写入:

from *libname* import sqlpassword

conn = psycopg2.connect('dbname=name user=user password=sqlpassword')

您必须存储您的postgresql凭据,并且不要在.py脚本中硬编码它们。为此,我建议您使用
django decouple
模块
使用此模块,您可以将数据库凭据存储在
.env
文件中,如下所示

DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASSWORD=DB_PASS
DB_HOST=localhost
DB_PORT=5432
然后您可以在python或django项目中使用它,就像喝一杯茶一样简单:)

相关链接:
djang decouple官方页面

学习如何使用django decouple的简单教程


致以最诚挚的问候。

AWS和Databrick都有秘密管理工具,可以让您将密码存储为秘密