为一个用户创建多个sessionID - 这怎么可能?

时间:2013-02-19 23:03:40

标签: php session firefox

我的最终用户中有一个(也是唯一一个)在注销时遇到了一些问题。我发现有多个PHP SessionID被创建,并且旧的sessionID超时导致注销。

问题是多个会话ID。我不能重现这是怎么回事。他们正在使用Firefox,就像我一样。我尝试通过双击桌面图标,转到File -> Open New Window,然后右键单击应用中的链接并选择Open Link in New Window来打开新窗口。我做的每件事都打开一个具有相同SessionID的新窗口(在我的系统上)。这是预期的行为。

此用户是否可以通过其他方式打开可能会创建单独SessionID的窗口?我无法访问他们的系统,只能从我的应用程序中记录数据。

2 个答案:

答案 0 :(得分:0)

他最有可能使用不同的Firefox浏览器。

您可以使用PHP mobile detect为您提供有关浏览器的所有信息

我认为这将证实我的猜测。

firefox有多种变体,但大多数变种都发送相同的标题,因此你不知道它们是否使用了2个不同的标题:

  1. firefox(原文)
  2. Tor project
  3. Comodo Ice Dragon
  4. portable Firefox
  5. ...
  6. 我想不出同一个Session_ID cookie对同一个域具有相同值的方式。

    也许一些不起眼的插件会在浏览器中缓和。

    FIX: 请尝试更改会话ID (php manual)

    的名称

    例如:

    <?php
    
     session_name("My_new_session_id" );
     session_start();
    

    通常会要求将会话名称更改为不太明显的名称,例如:“qwerty”

    编辑:

    安全会话管理的快速示例:link

    有关详细信息:OWasp Session Management Cheat Sheet

答案 1 :(得分:0)

回过头来回答这个问题。问题结果是与其中一个用户的工作流问题。通过教育解决了这个问题。