我是剛接觸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在資料庫的配置上有沒有辨法對敏感的資料加密? 或者有什么安性的作法?
uj5u.com熱心網友回復:
django默認沒有這種直接從外面檔案讀取配置的功能,你可以試試django-environ https://blog.csdn.net/handsomekang/article/details/78682575另外還有2個玩法:
1. 利用環境變數,這種在純docker里面玩得比較多
2. 利用分布式配置中心(例如springconfig,nacos),這種在微服務體系里面玩得比較多,比較重,大專案比較適用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/49860.html
