$_SERVER['HTTP_COOKIE'] возвращает два PHPSESSID

Я получаю два PHPSESSID при печати $_SERVER['HTTP_COOKIE']. На самом деле я не знаю, как это устанавливается дважды, это только в моей локальной системе. Когда я проверяю файл cookie SERVER, это выглядит так:

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',
      )

person Karthik N    schedule 19.06.2015    source источник


Ответы (1)


У вас может быть несколько файлов cookie с одним и тем же именем. Это происходит, когда вы устанавливаете cookie с разными атрибутами пути или домена. Они все отправляются на сервер.

введите здесь описание изображения

Конкретный RFC 6265

если заголовок Cookie содержит два файла cookie с одинаковым именем (например, которые были установлены с разными атрибутами пути или домена), серверы НЕ ДОЛЖНЫ полагаться на порядок, в котором эти файлы cookie появляются в заголовке.

Ваш $_COOKIE будет заполнен одним из этих значений.

person Federkun    schedule 19.06.2015