Чтение файлов cookie, установленных в определенном домене

В настоящее время я храню файлы cookie на своем сайте .domain.com, поскольку у меня есть несколько поддоменов, которые делятся файлами cookie (например, аутентификация). Я хотел настроить тестовый сайт, чтобы я мог показать некоторые функции публично , поэтому я настраиваю atest.domain.com, который, очевидно, получает .domain.comкуки, но я бы не хотел этого. Есть ли какой-то способ настроить его так, чтобы мой тестовый сайт читал только куки .test.domain.com?

1 ответ

  1. 2 домена mydomain.comи subdomain.mydomain.comмогут обмениваться файлами cookie только в том случае, если домен явно назван в Set-Cookieзаголовке. В противном случае область действия файла cookie ограничена хостом запроса.

    Например, если вы отправили следующий заголовок из subdomain.mydomain.com:

    Set-Cookie: name=value
    

    Тогда файл cookie не будет отправлен для запросовmydomain.com. Однако если вы используете следующее, оно будет использоваться в обоих доменах:

    Set-Cookie: name=value; domain=mydomain.com
    

    В [RFC 2109][1] домен без ведущей точки означал, что его нельзя использовать в поддоменах, и только ведущая точка ( .mydomain.com) позволяла бы использовать его в поддоменах.

    Тем не менее, современные браузеры уважают более новую спецификацию [RFC 6265][2] и игнорируют любую ведущую точку, что означает, что вы можете использовать cookie на поддоменах, а также на домене верхнего уровня.

    Таким образом , если вы установите файл cookie , как во втором примере вышеmydomain.com, он будет доступенsubdomain.mydomain.com, и наоборот.

    Смотрите также: www vs no-www и cookies , этот тестовый сценарий