【问题标题】:php session cookie too persistentphp会话cookie太持久
【发布时间】:2014-12-25 09:50:38
【问题描述】:

我正在使用 PHP 会话来存储会话 cookie。这是脚本,它将 HTTP 标头发送到 python 脚本,包括 session_id:

<div id="header" class="grid_24">
  <?php
  ob_start();
  session_start();
  $UA = $_SERVER['HTTP_USER_AGENT'];
  $REF = $_SERVER['HTTP_REFERER'];
  $IP =   $_SERVER['REMOTE_ADDR'];
  $GUID = session_id();
  $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  //echo $UA;
  //echo $REF;
  //echo $IP;
  //echo $GUID;
  echo ("python ../header_sender.py -u '$UA' -r '$REF' -i '$IP' -c '$GUID' -p '$actual_link' 2>&1");
  echo exec("python /var/www/html/oscommerce-2.3.3.4/header_sender.py -u '$UA' -r '$REF' -i '$IP' -c '$GUID' -p '$actual_link' 2>&1");
  ob_end_flush();
  ?>

我看到的问题是,即使我打开另一个浏览器,仍然存在相同的会话。我的理解是session_start() 保存了一个会话cookie,它在浏览器打开时存在。使用其他浏览器打开时如何获得相同的会话(我正在打开 firefox 并从 chrome 会话中看到相同的 cookie..)?

我在这里错过了什么?

【问题讨论】:

    标签: php session-cookies


    【解决方案1】:

    您可以使用session_name 设置会话。您必须在页面顶部和session_start(); 之前执行此操作。

    【讨论】:

    • 这会使会话cookie充当会话cookie(在浏览器关闭时死亡)?
    • 会话cookie是一个普通的cookie,里面有一个特定的名字和会话id。因此,如果您在关闭时删除 cookie,会话将关闭,您会得到一个新的。
    猜你喜欢
    • 2012-03-29
    • 2016-04-24
    • 2013-03-06
    • 1970-01-01
    • 2016-08-10
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多