我是刚接触django的新手, 有很多地方不了解, 请教大家多多指教, 谢谢.
Django数据库的配置在settings.py中的DATABASES节段中
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'dabaseName',
'USER': 'userName',
'PASSWORD': 'password',
'HOST': 'hostnaem',
'PORT': '1433',
'OPTIONS':{
'driver':'SQL Server Native Client 11.0',
},
}
}
我使用的是MS SQL server, 在windows环境, 我想请教在settings.py中的数据库相关设定的数据库联机账号/密码要如何加密? 直接放在设定中太危险了.
我查询django相关文件有找到对于MySQL的描述是可以将相关的设定写到另一个档案
settings.py
```
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8
```
但是这样看起在my.cnf中的账号密码仍然是明文, 还是有资安的风险。
请问django在数据库的配置上有没有辨法对敏感的数据加密? 或者有什么安性的作法?
在Django中,直接在settings.py中暴露数据库的用户名和密码存在安全风险。对于MSSQL Server,可以参考MySQL的方式,将敏感信息移出settings.py,但my.cnf中的密码仍是明文。目前,Django官方没有直接提供数据库配置加密的功能。一种可能的安全做法是使用环境变量来存储这些敏感信息,不在源代码中硬编码。这样可以通过外部环境设置来保护数据库连接信息,提高安全性。
812

被折叠的 条评论
为什么被折叠?



