您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么在Flask每次启动时都不生成密钥?

为什么在Flask每次启动时都不生成密钥?

密钥用于对会话cookie进行签名。如果必须重新启动应用程序并重新生成密钥,则所有现有会话都将失效。那可能不是您想要的(或者至少不是使会话无效的正确方法)。对于依赖于秘密密钥的其他任何事物,例如由其危险生成的令牌(例如提供重置密码URL),都可能发生类似的情况。

由于崩溃,服务器重新启动,推送错误修复或新功能,所使用的服务器产生新进程等,可能需要重新启动应用程序。因此,您不能依赖在服务器上一直处于运行状态。

标准做法是将一些一次性密钥提交给存储库(以便在开发机器上有 东西 ),然后在部署时在本地配置中设置密钥。这样,密钥就不会泄漏,也不需要重新生成

还存在运行依赖于应用程序上下文的辅助系统的情况,例如运行后台任务的Celery或应用程序的多个负载平衡实例。如果应用程序的每个正在运行的实例均具有不同的设置,则在某些情况下它们可能无法正常工作。

Python 2022/1/1 18:28:59 有637人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶