【发布时间】:2020-12-31 01:14:31
【问题描述】:
在 Flask 中拥有服务器端会话变量的最简单方法是什么?
变量值:
- 一个简单的字符串
- 对客户端(浏览器)不可见
- 没有持久化到数据库中——会话结束时就消失了
有一个内置的 Flask 会话,但是它将会话数据发送给客户端:
session["secret"] = "I can see you"
数据经过 Base64 编码并在加密签名的 cookie 中发送,但在客户端上读取仍然很简单。
在许多框架中,创建服务器端会话变量是单行的,例如:
session.secret = "You can't see this"
到目前为止,我发现的 Flask 解决方案非常繁琐,并且适用于处理大量数据。有没有简单的轻量级解决方案?
【问题讨论】:
-
flask.pocoo.org/snippets/132 除了跳过保存到磁盘。
-
请澄清您向客户端发送数据的问题。几乎每个框架都使用 cookie 来获得会话标识符/令牌。然后可以使用会话标识符来查找存储在本地数据库中的其他会话数据。这是你想做的吗?
-
@TheGreatContini Google "服务器端会话变量" 有成千上万的相关结果。只要 appservers 存在,会话变量就已经存在。根据下面的答案,Flask 有一个支持会话变量的插件。并非所有瞬态数据都需要存储在本地数据库中。
标签: python security session flask server-side