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

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

Действительно ли это возможно? Если так, как?

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

36
задан Wabbitseason 2 June 2010 в 15:10
поделиться

2 ответа

Извините, все, что вы получаете, это то, что вы видите в document.cookie . Метаданные cookie, такие как путь , домен и истекает , не видны для кода сайта (ни для JavaScript, ни для стороны сервера).

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

Если, как вы говорите, вам нужно только удалить файл 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';

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

42
ответ дан 27 November 2019 в 06:10
поделиться

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

2
ответ дан 27 November 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: