简体   繁体   中英

$_SERVER['HTTP_COOKIE'] return's two PHPSESSID

I am getting two PHPSESSID while printing $_SERVER['HTTP_COOKIE'] . Actually I don't know how it is set twice, its only in my local system. When I check the SERVER cookie it like:

echo $_SERVER['HTTP_COOKIE'];

//result 

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

When I check my cookie alone like :

print_r($_COOKIE);    

//result 

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

You can have multiple cookies with the same name. This happens when you set cookie with different Path or Domain attributes. They are all send to the server.

在此输入图像描述

The RFC 6265 specific

if the Cookie header contains two cookies with the same name (eg, that were set with different Path or Domain attributes), servers SHOULD NOT rely upon the order in which these cookies appear in the header.

Your $_COOKIE will be populated with one of these values.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM