Не удалось получить cookie из другого (родительского) домена в Django - PullRequest
2 голосов
/ 11 января 2010

Мне нужно удалить cookie, который ранее был установлен для родительского домена при просмотре хоста в поддомене родительского домена.

То есть, файл cookie "xyz" был установлен для example.com, и я пытаюсь удалить его на subdomain.example.com, используя бэкэнд Django.

Запрос. COOKIES, данный представлению, не содержит никаких файлов cookie, кроме файлов cookie с subdomain.example.com, поэтому я не могу написать только response.delete_cookie (...) для его удаления.

Можно выполнить такое удаление либо в Python, либо в Javascript?

Ответы [ 2 ]

1 голос
/ 11 января 2010

Возможно, файл cookie был установлен с параметром 'domain'. Настройте файл cookie на доступ ко всем поддоменам домена, в котором устанавливается файл cookie.

Я не парень с питоном, но мои знания протокола HTTP показывают, что это может быть проблемой.

0 голосов
/ 11 января 2010

Вы можете попытаться вызвать delete_cookie даже для файла cookie, который вы не смогли прочитать. Django выведет соответствующие заголовки Set-Cookie, чтобы удалить cookie независимо. Естественно, что domain и path, которые вы передаете delete_cookie, должны совпадать с файлом cookie, который вы собираетесь удалить.

Однако, если вы не смогли прочитать файл cookie, вероятно, существует другая проблема, которая может помешать вам удалить его. Вы уверены, что cookie из родительского домена был установлен с параметром domain=parentdomain.tld? В противном случае он не был бы видимым или удаляемым из субдомена, кроме как в IE из-за плохой обработки браузером файлов cookie, не указанных в домене.

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