gpt4 book ai didi

django - 更改 Django 的 SECRET_KEY 的影响

转载 作者:行者123 更新时间:2023-11-28 19:32:17 26 4
gpt4 key购买 nike

我犯了一个错误,将我的 Django 项目的 SECRET_KEY 提交到了公共(public)存储库中。

这个 key 应该保密according to the docs .

Django 项目是实时的,并且已经在一些活跃用户中运行了一段时间。如果我更改 SECRET_KEY 会有什么影响?任何现有用户、cookie、 session 等是否会受到影响?显然,新的 SECRET_KEY 将不再存储在公共(public)位置。

最佳答案

编辑:这个答案是基于django 1.5

SECRET_KEY 用在很多不同的地方,我将首先指出受其影响的内容,然后尝试查看该列表并给出影响的准确解释。

直接或间接使用SECRET_KEY的事物列表:

实际上,这里列出的很多项目都使用 SECRET_KEY 通过 django.utils.crypt.get_random_string() 来为随机引擎提供种子。这不会受到 SECRET_KEY 值更改的影响。

直接受值变化影响的用户体验是:

  • session ,数据解码将中断,这对任何 session 后端(cookie、数据库、基于文件或缓存)均有效。
  • 已发送的密码重置 token 将不起作用,用户将不得不请求一个新的。
  • 评论表单(如果使用django.contrib.comments)将不会验证它是在值更改之前请求的还是在值更改之后提交的。我认为这是非常小的,但可能会让用户感到困惑。
  • 消息(来自 django.contrib.messages)不会在与评论表单相同的时间条件下验证服务器端。

更新:现在正在处理 django 1.9.5,快速查看源代码可以得到几乎相同的答案。稍后可能会进行彻底检查。

关于django - 更改 Django 的 SECRET_KEY 的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15170637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com