Django密钥是每个实例还是每个应用程序?

2024-03-28 22:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

This question询问Django SECRET_KEY值的用途。One of the answers to that question声明“它需要有大量的加密entopy(sp)(计算机很难猜到)并且在所有Django实例之间是唯一的。”

这有点模棱两可:例如,如果我说将一个Django应用程序部署到负载均衡器后面的多个web服务器上,那么每个应用程序应该有它自己不同的SECRET_KEY,还是应该在所有实例之间共享{}?在


Tags: ofthetodjango实例key应用程序声明
1条回答
网友
1楼 · 发布于 2024-03-28 22:49:13

对于同一个Django应用程序,您应该使用相同的secret key,以确保当负载平衡在会话期间重定向其通信量时,同一客户机可以正确使用该服务。否则,肯定会出现未定义的行为。更具体地说,所有这些东西都会破裂。在

  • 会话时,数据解码将中断,这对任何会话后端(cookies、数据库、基于文件或缓存)都有效。在
  • 已发送的密码重置令牌将不起作用,用户将必须请求一个新的令牌。在
  • 意见表(如果使用django.contrib.comments.评论)将不验证它是否在值更改之前请求并在值更改后提交。我认为这是非常小的,但可能会混淆用户。在
  • 消息(来自django.contrib.messages)与服务器端的注释不在同一时间条件下验证。在

source。作为旁注,我完全同意Django的secret_key方面感觉很危险和神秘,尽管它很容易解释,而且文档没有对其进行任何形式的清晰处理。在

相关问题 更多 >