$_SERVER['HTTP_COOKIE'] return的两个PHPSESSID
$_SERVER['HTTP_COOKIE'] return's two PHPSESSID
我在打印 $_SERVER['HTTP_COOKIE']
时收到两个 PHPSESSID
。实际上我不知道它是如何设置两次的,它只在我的本地系统中。
当我检查服务器 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',
)
您可以有多个名称相同的 cookie。当您使用不同的 Path 或 Domain 属性设置 cookie 时会发生这种情况。它们全部发送到服务器。
RFC 6265具体
if the Cookie header contains two cookies with the same name (e.g.,
that were set with different Path or Domain attributes), servers SHOULD NOT rely upon the order in which these cookies appear in the header.
您的 $_COOKIE
将填充这些值之一。
我在打印 $_SERVER['HTTP_COOKIE']
时收到两个 PHPSESSID
。实际上我不知道它是如何设置两次的,它只在我的本地系统中。
当我检查服务器 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',
)
您可以有多个名称相同的 cookie。当您使用不同的 Path 或 Domain 属性设置 cookie 时会发生这种情况。它们全部发送到服务器。
RFC 6265具体
if the Cookie header contains two cookies with the same name (e.g., that were set with different Path or Domain attributes), servers SHOULD NOT rely upon the order in which these cookies appear in the header.
您的 $_COOKIE
将填充这些值之一。