我想問,為什么要在 Django 應用程式中隱藏密鑰?為什么不把它提交給公共源代碼控制呢?我了解攻擊者找出密鑰的影響(從這里)。但是如果我只是把代碼上傳到github,讓別人下載,運行python manage.py runserver到127.0.0.1:8000,我就不需要隱藏了,對吧?當您使用您的設備作為服務器在您的設備上運行代碼并讓他們在公共 URL 上訪問它時,這些泄露密鑰的影響難道不適用嗎?如果他們在自己的設備上運行它,那不會對我構成安全風險,對吧?我讀到知道密鑰可以讓他們繞過表單驗證等。但他們只會弄亂他們自己本地安裝的應用程式的資料庫,所以我為什么要關心?
uj5u.com熱心網友回復:
正如您從此處的檔案中看到的那樣:https ://docs.gitguardian.com/secrets-detection/detectors/specifics/django_secret_key
密鑰用于加密 Django 專案中的通信,與密碼學中使用的任何密鑰一樣,密鑰如果暴露,可以并且將用于破壞專案中的任何加密(請注意,即使您個人有沒有實作加密,Django 在許多地方使用它,例如密碼、會話等)。
因此,如果您的密鑰在公共存盤庫的源代碼中公開,那么任何人都可以破解加密并獲取他們可能未獲得授權的資料。
uj5u.com熱心網友回復:
如果它只是在本地機器上運行的應用程式,我沒有理由隱藏它,只需確保下載您的存盤庫的用戶知道 SECRET_KEY 是公開的,因為如果該人出于某種原因想要公開訪問它會帶來風險他們。最好的辦法是根本不設定 SECRET_KEY,所以當用戶想要運行您的應用程式時,他們必須設定自己的秘密
uj5u.com熱心網友回復:
Django 密鑰用于會話管理、簽名資料和密碼散列等事務。以防萬一,最好隱藏這些型別的鍵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/450916.html
