繁体   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