【问题标题】:$_SERVER['HTTP_COOKIE'] return's two PHPSESSID$_SERVER['HTTP_COOKIE'] 返回两个 PHPSESSID
【发布时间】:2015-09-05 05:49:23
【问题描述】:

我在打印$_SERVER['HTTP_COOKIE'] 时收到两个PHPSESSID。其实我不知道它是如何设置两次的,它只在我的本地系统中。 当我检查 SERVER cookie 时,它​​就像:

echo $_SERVER['HTTP_COOKIE'];

//result 

'fe_toolbar=false; 
fe_toolbar=false; 
PHPSESSID=4tvbovcjk0msf9dvibeb31c2b7; 
langId=1; 
backendLangId=2; 
PHPSESSID=46aagg1hg7as2uh9bihjlpp8h7'

当我单独检查我的 cookie 时:

print_r($_COOKIE);    

//result 

array (
       'fe_toolbar' => 'false',
       'PHPSESSID' => '4tvbovcjk0msf9dvibeb31c2b7',
      )

【问题讨论】:

    标签: php session session-cookies


    【解决方案1】:

    您可以拥有多个同名的 cookie。当您使用不同的路径或域属性设置 cookie 时,就会发生这种情况。它们全部发送到服务器。

    RFC 6265 特定

    如果 Cookie 标头包含两个具有相同名称的 Cookie(例如, 设置了不同的路径或域属性),服务器不应依赖这些 cookie 在标头中出现的顺序。

    您的$_COOKIE 将填充这些值之一。

    【讨论】:

      猜你喜欢
      • 2012-02-13
      • 2019-09-09
      • 2016-01-31
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      相关资源
      最近更新 更多