Google Cookie – HTTP и HTTPS

У меня есть сайт, который использует www.example.com для стандартных страниц и secure.example.com для HTTPS. Я пытаюсь установить cookie при входе пользователя в систему, который будет действителен и в версиях HTTP и HTTPS сайта.

Я делаю это, установив путь к «/» и домену в «.example.com». Это отлично работает в Firefox и Internet Explorer, но в Chrome cookie работает только с версией сайта, на котором он был установлен ( http://www.example.com или https://secure.example.com )

Это ошибка, или я делаю что-то неправильно? Если это ошибка, есть ли обходной путь?

Файл cookie устанавливается PHP в заголовках.

setcookie("login",base64_encode($email."::".md5($password)),2840184012,"/",".example.com"); 

Related of "Google Cookie – HTTP и HTTPS"

Вы не можете установить cookie как для HTTP, так и для HTTPS одновременно. Вам нужно установить два отдельных файла cookie: один для HTTP и один для HTTPS:

 setcookie("login", base64_encode($email."::".md5($password)), 2840184012, "/", ".example.com"); setcookie("login", base64_encode($email."::".md5($password)), 2840184012, "/", ".example.com", true); 

Это работает, только если вы установили файлы cookie на странице https://secure.example.com, поскольку вы можете устанавливать безопасные файлы cookie через HTTPS.

О, и кстати: Не храните информацию об аутентификации в cookie! Вместо этого используйте действительный токен аутентификации.