部署在Heroku上的Django App可以正常工作,尽管错误的SECRET_KEY



在我的Django项目中,我有一个.env文件,其中包含我的DJANGO_SECRET_KEY环境变量:

export DJANGO_SECRET_KEY=dummysecretkey123

在初始化repo之前,我在.gitignore文件中添加了对.env文件的引用,因此SECRET_KEY不应该在git跟踪的任何repo中可见

在我的settings.py中,我设置我的SECRET_KEY如下:

SECRET_KEY = env.str("DJANGO_SECRET_KEY")

为了在Heroku上部署,我通过Heroku仪表板中的配置变量添加了SECRET_KEY-一切都如预期的那样工作。

然后出于好奇,我把Heroku的SECRET_KEY改成了一个错误的值,看看它的效果。令我惊讶的是,这个应用程序还在运行。我重启了所有的电源,但没有任何变化。然后我通过heroku run python manage.py shell检查了Heroku服务器的环境变量;import os祝辞print(os.environ),可以看到SECRET_KEY故意设置错误的值

我在这里错过了什么?SECRET_KEY的目的不是为了保护我的应用程序,这意味着如果设置不正确,应用程序不应该工作?

SECRET_KEY在django中的作用在官方文档中有描述。

:

秘密密钥用于:

,

消息,

PasswordResetView令牌,

密码签署。

相关内容

  • 没有找到相关文章

最新更新