簡體   English   中英

Django 盡管 SECRET_KEY 錯誤,部署在 Heroku 上的應用程序仍能正常工作

[英]Django App deployed on Heroku works despite wrong SECRET_KEY

在我的 Django 項目中,我有一個.env文件,其中包含我的DJANGO_SECRET_KEY環境變量:

export DJANGO_SECRET_KEY=dummysecretkey123

在初始化存儲庫之前,我在我的.gitignore文件中添加了對.env文件的引用,因此 SECRET_KEY 在 git 跟蹤的任何存儲庫中都不應該可見

在我的settings.py ,我將SECRET_KEY設置如下:

SECRET_KEY = env.str("DJANGO_SECRET_KEY")

為了在 Heroku 上部署,我通過配置變量在 Heroku 儀表板中添加了SECRET_KEY - 一切都按預期進行。

然后出於好奇,我將Heroku中的SECRET_KEY改成了錯誤的值,看看效果。 令我驚訝的是,該應用程序仍然在線並且可以運行。 我重新啟動了所有測功機,但沒有任何改變。 然后我通過heroku run python manage.py shell > import os > print(os.environ)檢查了 Heroku 服務器的環境變量,可以看到故意為SECRET_KEY設置了錯誤的值

我在這里錯過了什么? SECRET_KEY的目的不是為了保護我的應用程序,這意味着如果設置不正確,應用程序不應該運行嗎?

django中SECRET_KEY的作用在 官方文檔中有說明。

它指出:

密鑰用於:

會議,

消息,

PasswordReset查看令牌,

加密簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM