Установите cookie-файл только для данного домена

#javascript #cookies #subdomain

#javascript #файлы cookie #поддомен

Вопрос:

Я установил cookie следующим образом:

   document.cookie = 'cookie-consent'   '='   value
                  ';expires='   date.toUTCString()
                  ';domain=sunfire-website.com';
 

Это работает нормально! Как вы можете видеть:

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

Но — домен есть .sunfire-website.com .

Это означает, что он также предназначен для поддоменов.

Для моего согласия на использование файлов cookie я хочу установить его не для всех доменов, а только для данного домена.

Как я могу это сделать — потому что я никогда не устанавливал ‘.’ самостоятельно.

Комментарии:

1. Что сообщает cookie, как это path ?

2. это просто / как путь

3. Попробуйте указать путь к конкретному домену, на котором вы хотите, чтобы он был доступен

4. Я не совсем понимаю. Его / (на всем сайте) в этом домене…

5. Прошло немного времени с тех пор, как я возился с файлами cookie, но из быстрого поиска в поисковых системах в некоторых статьях говорилось, что установка пути к / позволяет ему сопоставляться со всеми поддоменами, и это то, что вы хотели бы сделать, чтобы заставить его это сделать. Так что, если это правда, и наоборот, чтобы заставить его не делать этого, вы бы хотели, чтобы этого не было /

Ответ №1:

Изменение

   document.cookie = 'cookie-consent'   '='   value
                  ';expires='   date.toUTCString()
                  ';domain=sunfire-website.com';
 

Для

   document.cookie = 'cookie-consent'   '='   value
                  ';expires='   date.toUTCString()
                  ';domain=www.sunfire-website.com';
 

Будет работать, потому что www сигнализирует «основной» домен

Комментарии:

1. Нет. Это просто сбой. Когда я делаю ';domain=www.' COOKIE_DOMAIN

Ответ №2:

Решение таково:

Если вы хотите установить cookie для всех поддоменов, просто установите domain . Если нет (без поддоменов), просто не устанавливайте домен.

Будет использоваться фактический домен:

 document.cookie = 'cookie-consent'   '='   value
                  ';expires='   date.toUTCString();
 

Дает правильную вещь:

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

Спасибо за вашу помощь.