Python 在Django中,为PostgreSQL连接设置纯文本密码是安全的吗?
我不确定我的PostgreSQL数据库连接使用纯文本密码是否不安全 i、 e 在我的“设置.py”文件中: 如果不安全,请提供有关如何处理这种情况的更多信息Python 在Django中,为PostgreSQL连接设置纯文本密码是安全的吗?,python,django,django-settings,Python,Django,Django Settings,我不确定我的PostgreSQL数据库连接使用纯文本密码是否不安全 i、 e 在我的“设置.py”文件中: 如果不安全,请提供有关如何处理这种情况的更多信息 注意:我正在为我的网页使用https,但我只是想知道,即使连接是本地的,我是否也必须保护它。不,在源代码中以纯文本形式保存密码是不安全的。您可能使您的项目开源,但忘记从存储库中删除密码,或者您可以将代码复制到SO问题:)中,而不删除密码。因此,最好将密码和其他机密(例如SECRET\u KEY作为环境变量)保留下来。 在开发过程中,您可以为
注意:我正在为我的网页使用https,但我只是想知道,即使连接是本地的,我是否也必须保护它。不,在源代码中以纯文本形式保存密码是不安全的。您可能使您的项目开源,但忘记从存储库中删除密码,或者您可以将代码复制到SO问题:)中,而不删除密码。因此,最好将密码和其他机密(例如
SECRET\u KEY
作为环境变量)保留下来。
在开发过程中,您可以为此使用库。因此,您的settings.py文件如下所示:
from dotenv import load_dotenv
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'my_database', # database name
'USER': 'username', # P.user
'PASSWORD': os.environ.get('PASSWORD'),
'HOST': 'localhost', # where is locate our database?
'PORT': '',
}
}
您可以使用环境变量: 设置 得到
谢谢你的解释和帮助,我非常感激。
from dotenv import load_dotenv
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'my_database', # database name
'USER': 'username', # P.user
'PASSWORD': os.environ.get('PASSWORD'),
'HOST': 'localhost', # where is locate our database?
'PORT': '',
}
}
os.environ["password"] = "your_password"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'my_database', # database name
'USER': 'username', # P.user
'PASSWORD': os.environ["password"],
'HOST': 'localhost', # where is locate our database?
'PORT': '',
}
}