首页 > 解决方案 > Android-Chrome - PHPSSID cookie 值和会话 ID 之间的差异

问题描述

我正在用 php 建立一个使用会话的网站。会话 在我使用 Chrome、Firefox 或 Opera的计算机上运行良好,但在我的 Android 手机(使用 Chrome)上却不行。为了找出问题所在,我在登录页面的顶部(就在 HTML 标记之前)添加了该代码:

   if (isset($_COOKIE["__Host-SSID"])){
       $cookieSSID=$_COOKIE["__Host-SSID"];
    }else{
       $cookieSSID="NoCookie";
    }

    echo(session_id()."_".$cookieSSID);

我按照这 5 个步骤显示了 4 次登录页面:

  1. 删除所有 cookie 并重新加载登录页面以重新开始
  2. 重新加载登录页面 => 不应更改 SSID
  3. 登录 => 生成新的 SSID
  4. 注销 => 生成一个新的 SSID。注销页面重定向到登录页面
  5. 重新加载登录页面

以下是我在登录页面顶部看到的示例。在计算机上,它按预期工作(为了清楚起见,我缩短了 SSID):

  1. 435e8f6_NoCookie => 一切都好
  2. 435e8f6_ 435e8f6 =>一切都好
  3. d3c4dc9_ d3c4dc9 =>一切都好
  4. d3c4dc9_ d3c4dc9 =>一切都好

现在,在电话上,它显示了以下内容:

  1. bf95d66_NoCookie => 一切都好
  2. bf95d66_bf95d66 => 一切都好
  3. 8ab6e12_8ab6e12=> 一切顺利
  4. c75aa41_ 4eca36c =>麻烦来了

标签: phpandroidsessionsession-cookies

解决方案


以防它帮助别人:我使用手机调试模式解决了这个问题。它与 php 或 Chrome 无关,而是与我配置错误的 SQL 数据库有关。


推荐阅读