-1

我面临的问题是Werkzeug 1.0.0已删除不推荐使用的代码,包括所有这些, Werkzeug.contrib当我使用烧瓶会话时,我得到

from werkzeug.contrib.cache import FileSystemCache
ModuleNotFoundError: No module named 'werkzeug.contrib'

所以建议的解决方案是降级werkzeug to 0.16.0我所做的。但现在的问题是

cannot import name 'ContextVar' from 'werkzeug.local'

为此提供的解决方案是将werkzeug 升级到2.0 或更高版本。

我应该怎么做才能修复烧瓶会话?如何安全地存储会话?

我看到了一些替代方法 importfrom cachelib import FileSystemCache而不是 from werkzeug.contrib.cache import FileSystemCacheinsessions.py但问题是它不加密会话文件。

我该如何解决这个问题?烧瓶会话也存在一个问题,即关闭浏览器时会话不会被清除,我app.config["SESSION_PERMANENT"] = False在开始时特别给出了。

4

2 回答 2

0

更新 Werkzeug 版本以解决此问题。

pip uninstall Werkzeug
pip install Werkzeug
于 2021-08-13T10:04:11.623 回答
0

我相信您的部分问题在这里得到了回答: https ://stackoverflow.com/a/68060390/6361745

要使烧瓶会话也在服务器端加密,您可以通过创建数据库并仅存储加密值来使用自己的会话管理。

关于删除 cookie 数据的问题的最后一部分。我认为我们无法更改浏览器 cookie。我们只能控制服务器会话数据。但是,我们可以为它们设置到期时间。尝试这个:

app.config["SESSION_PERMANENT"] = True
app.config['PERMANENT_SESSION_LIFETIME'] = 60 #in seconds
于 2021-06-20T22:25:16.380 回答