我的最终用户中有一个(也是唯一一个)在注销时遇到了一些问题。我发现有多个PHP SessionID被创建,并且旧的sessionID超时导致注销。
问题是多个会话ID。我不能重现这是怎么回事。他们正在使用Firefox,就像我一样。我尝试通过双击桌面图标,转到File -> Open New Window
,然后右键单击应用中的链接并选择Open Link in New Window
来打开新窗口。我做的每件事都打开一个具有相同SessionID的新窗口(在我的系统上)。这是预期的行为。
此用户是否可以通过其他方式打开可能会创建单独SessionID的窗口?我无法访问他们的系统,只能从我的应用程序中记录数据。
答案 0 :(得分:0)
他最有可能使用不同的Firefox浏览器。
您可以使用PHP mobile detect为您提供有关浏览器的所有信息
我认为这将证实我的猜测。
firefox有多种变体,但大多数变种都发送相同的标题,因此你不知道它们是否使用了2个不同的标题:
我想不出同一个Session_ID cookie对同一个域具有相同值的方式。
也许一些不起眼的插件会在浏览器中缓和。
FIX: 请尝试更改会话ID (php manual)
的名称例如:
<?php
session_name("My_new_session_id" );
session_start();
通常会要求将会话名称更改为不太明显的名称,例如:“qwerty”
编辑:
安全会话管理的快速示例:link
答案 1 :(得分:0)
回过头来回答这个问题。问题结果是与其中一个用户的工作流问题。通过教育解决了这个问题。