常量Flask会话ID [英] Constant Flask Session IDs
问题描述
我有一个 我不是在会话中保存任何(键,值)对,只依赖于 以下的观察: Flask
应用程序,与Nginx + WSGI(FastCGI& Gevent)一起提供,并使用标准的Flask会话。我不使用 session.permanent = True
或其他任何额外的选项,只要设置 SECRET_KEY $ c
SID = session ['_ id']
条目来识别返回的用户。我使用下面的代码读取 SID
:
@page。 ('/')
def main(page ='home',template ='index.html'):
如果不是request.args.get('silent',False) :
print>> sys.stderr,Session ID:%r%session ['_ id']
SID
- 这是预期的;
SIDs
- 预期;
现在,点(3)很有意思,因为即使一个
删除相应的cookie SID
仍然是常量!在某种程度上甚至可能是可以理解的,但实际上我期望 SID
可以在不同的cookie之间切换。但我看到的唯一区别是,
session.new是真的
pre>
为第一个第一个请求之后立即删除的cookie。即使这是非常期望的。但鉴于这些事实,我面临以下问题:
这是否意味着对于不同的用户(相同的浏览器配置),我的后端会把它们误认为是 相同的用户?
<如果点(1)不是这种情况,那么这些粘性会话的当前行为实际上相当令人愉快,因为这避免了我的用户可能因为这个原因而丢失数据的情况他们删除了相应的cookie。
通过使用相同的浏览器在同一网络上重新访问网站,他们仍然可以节省一天的时间。我喜欢,但只有 点(1)不是情况。 我假设点(1)实际上会咬我,结论实际上是保存一个
令牌
在会话中,因此接受用户可以自杀的命运,通过简单的删除他的cookie?
或者有办法告诉
Flask
给不同的SIDs / code>为每个新鲜的cookie?
实际上,负载影响服务,它模拟不同的用户(在相同的IP),但我的后端不断看到他们作为一个单一的用户,因为相应的
SIDs
都是一样的。
该应用程序可在 http ://webed.blackhan.ch (它在发布后会将 https://notex.ch