Session 如果用户删除了Flask站点的Cookie,服务器是否仍能将其与会话关联?
如果用户删除了Flask站点的Cookie,这是否有效地结束了该会话?如果没有,Flask是否有任何可能的方法可以在用户未登录的情况下确定用户是谁,以便服务器可以将该用户与其以前的会话连接起来?会话更像是发布到浏览器上的唯一id,并且。。。因此,大多数情况下,当您更改会话(而不是会话id)时,您只需修改后端部分,答案似乎是“是的,即使您删除了cookie,Flask有时也可以“确定您是谁”(将您与以前的会话重新关联) 这是因为您的Flask登录会话ID仅根据您的IP地址和Session 如果用户删除了Flask站点的Cookie,服务器是否仍能将其与会话关联?,session,flask,session-cookies,flask-login,Session,Flask,Session Cookies,Flask Login,如果用户删除了Flask站点的Cookie,这是否有效地结束了该会话?如果没有,Flask是否有任何可能的方法可以在用户未登录的情况下确定用户是谁,以便服务器可以将该用户与其以前的会话连接起来?会话更像是发布到浏览器上的唯一id,并且。。。因此,大多数情况下,当您更改会话(而不是会话id)时,您只需修改后端部分,答案似乎是“是的,即使您删除了cookie,Flask有时也可以“确定您是谁”(将您与以前的会话重新关联) 这是因为您的Flask登录会话ID仅根据您的IP地址和user\u agent
user\u agent
string由确定性算法生成
我从阅读下面的SO问题及其答案中学到了这一切:
我发表了以下意见:
SID
——这是意料之中的李>
SID
-预期李>
SID
-也应如此李>
现在,第(3)点很有趣,因为即使我删除了
对应的cookieSID
保持不变!在某种程度上
即使这样也可以理解,但事实上我期待着
SID
在不同cookie之间更改。但唯一的区别是我
看到了吗
session.new is True
对于删除cookie后的第一个请求
看起来您正在使用Flask登录扩展名。这是密码
生成id令牌的:
def _create_identifier():
base = unicode("%s|%s" % (request.remote_addr,
request.headers.get("User-Agent")), 'utf8', errors='replace')
hsh = md5()
hsh.update(base.encode("utf8"))
return hsh.digest()
基本上就是md5(ip地址+用户代理)
是的,但是如果用户删除了会话ID并发送了一个新的GET请求,服务器是否有办法找出该用户是谁并将其与现有会话重新连接?这就是我正在经历的行为。