Файлы cookie Google Chrome - HTTP и HTTPS - PullRequest
       25

Файлы cookie Google Chrome - HTTP и HTTPS

3 голосов
/ 18 февраля 2010

У меня есть сайт, который использует 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");

1 Ответ

4 голосов
/ 18 февраля 2010

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

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

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

Да, и кстати: не сохраняйте аутентификационную информацию в куки! Вместо этого используйте один раз действующий токен аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...