【问题标题】:php, why is the session id is the same from two browsers?php,为什么两个浏览器的会话ID相同?
【发布时间】:2012-06-19 11:05:15
【问题描述】:

我有一个站点,当我使用两个浏览器以同一个用户登录时,session_id() 告诉我相同的值。是不是错了?如何区分这两个用户?

【问题讨论】:

  • 这应该是不可能的,除非您是passing session IDs via the URL 并且在两个浏览器中打开了相同的包含会话 ID 的 URL。
  • 我希望你指的是两个不同的浏览器,而不是同一个浏览器的两个窗口。
  • 注意:如果您复制了会话 ID,请检查:en.wikipedia.org/wiki/Session_hijacking#Prevention
  • 没有任何代码,除了@lanzz 给出的答案之外,几乎没有机会给出有意义的答案,并且假设“两个不同的浏览器”实际上意味着两个不同的浏览器程序或在两台不同的计算机上运行的同一个程序而不是同一台计算机上同一浏览器的两个窗口。
  • 是的,不同的浏览器,不同的标签,我不傻

标签: php session


【解决方案1】:

更新/编辑:谷歌浏览器似乎对您所写的内容存在严重问题,请参阅 Chrome is creating duplicate sessions with the same id 和 http://code.google.com/p/webug/issues/detail?id=12 了解更多信息。

我的旧答案:

如果您真的使用两种不同的浏览器,那么您可能是

  1. 使用非基于服务器的会话脚本或
  2. 您正在通过某些东西(url 参数?)或
  3. 提供会话
  4. 您正在使用一个非常奇怪的会话系统(是的,我已经看到了),它通过 IP 跟踪用户。

典型的 PHP 会话被创建为服务器文件系统上的文件, 因此“新浏览器”不知道此会话,并且浏览器没有可以发送到服务器的有关您的信息。

如果你想要一个真正的答案,请显示一些代码,伙计。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 2014-03-25
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2018-08-09
    • 2017-08-31
    • 1970-01-01
    相关资源
    最近更新 更多