Чтение куки из другого домена
Я разрабатываю страницу / форму для кампании внутри моей компании. Тем не менее, первый шаг - проверить, вошел ли человек в систему. Это легко проверить по файлу cookie - CUSTOMER - который устанавливается после входа в систему.
Однако: 1) я работаю локально, а не в одном домене, и, как следствие, не могу видеть этот файл cookie 2) Финальная кампания может оказаться или не оказаться в реальном домене. Они могут в конечном итоге использовать тщеславный URL или что-то еще.
Для этого давайте предположим, что у меня нет доступа к основному домену, где был установлен cookie.
Как я могу прочитать этот cookie из домена? Да, и так как ИТ-специалисты не позволяют нам прикасаться к внутреннему ворчанию, это должно быть решение JS.
Спасибо!
2 ответа
Ты не можешь
Единственные файлы cookie, которые можно прочитать с помощью JavaScript на стороне клиента, - это файлы cookie, принадлежащие хосту документа HTML, в котором <script>
встроен
Установив withCredentials
Вы можете поддерживать файлы cookie в запросах с разными источниками, но они прозрачно обрабатываются браузером, и JS не имеет прямого доступа к ним (спецификация XHR заходит слишком далеко, чтобы явно запретить getAllResponseHeaders
от чтения заголовков, связанных с cookie). Единственный способ для запроса на получение доступа к файлам cookie из разных источников - сервер (к которому, как вы говорите, у вас нет доступа) скопирует данные в тело или в другой заголовок ответа).
Вы можете, если вы можете установить серверные компоненты.
Вы можете использовать выделенный домен для размещения своего куки, а затем поделиться им с помощью техники XSS
Когда dom1.foo.com входит в систему, вы регистрируете cookie на cookie.foo.com с помощью вызова Ajax XSS, а затем, когда вы заходите на dom2.foo.com, вы должны запросить cookie.foo.com с вашим XSS API.
Я играл с ним некоторое время назад https://github.com/quazardous/mudoco/blob/master/mudoco/README.txt Это просто своего рода POC..