Подтвердить что ты не робот

Как получить значение домена для cookie в Javascript?

Использование Javascript Я хотел бы получить значение domain для определенного файла cookie.

Возможно ли это? Если да, то как?

Чтобы уточнить: я не ищу значение cookie. Я нахожусь на "subdomain.domain.com", и мне нужно удалить файл cookie, чье имя известно, но его значение в домене - что-то вроде ".domain.com". Короче: я хотел бы получить значение ".domain.com".

4b9b3361

Ответ 1

Извините, все, что вы получаете, это то, что вы видите в document.cookie. Метаданные файла cookie, такие как path, domain и expires, не отображаются в коде сайта (ни на JavaScript, ни на стороне сервера).

Чтобы прочитать файл cookie, который затенен файлом cookie с более конкретным domain или path, единственное, что вы можете сделать, это загрузить страницу, для которой более конкретный файл cookie выходит за рамки, и прочитайте его оттуда.

Если, как вы говорите, вам нужно всего лишь удалить куки файл, то вы можете попытаться удалить файл cookie на всех возможных уровнях специфичности, например:

    document.cookie= 'foo=;domain=sub.domain.example.com;expires=Sat, 01-Jan-2000 00:00:00 GMT';
    document.cookie= 'foo=;domain=domain.example.com;expires=Sat, 01-Jan-2000 00:00:00 GMT';
    document.cookie= 'foo=;domain=example.com;expires=Sat, 01-Jan-2000 00:00:00 GMT';

и аналогично переменной path. Вы можете поместить это в вложенный цикл для каждой части пути и домена, разделив на . для домена и / для пути.

Ответ 2

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