Чтение файла cookie из другого домена

Я разрабатываю страницу/форму для кампании внутри моей компании. Однако первый шаг - проверить, зарегистрирован ли пользователь. Это легко проверить на cookie - CUSTOMER - который устанавливается после входа в систему.

Тем не менее: 1) Я развиваюсь локально, а не в том же домене, и, как результат, не вижу, что cookie 2) Окончательная кампания может или не может закончиться проживанием в реальном домене. Они могут в конечном итоге использовать URL-адрес тщеславия или что-то в этом роде.

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

Как я могу прочитать этот файл cookie из домена? О, и поскольку ИТ-специалисты не позволяют нам прикоснуться к задним ворчам, это должно быть решение JS.

Спасибо!

Ответ 1

Вы не можете.

Единственными куками, которые вы можете прочитать с помощью JavaScript на стороне клиента, являются те, которые принадлежат хосту документа HTML, в который встроен <script>.

Установив withCredentials, вы можете поддерживать файлы cookie в запросах с кросс-началом, но они прозрачно обрабатываются браузером, а JS не имеет прямого доступа доступ к ним (спецификация XHR далеко продвинулась к явно запретить getAllResponseHeaders от чтения заголовков, связанных с файлами cookie). Единственный способ получения запроса на перекрестный поиск для доступа к куки файлам - для сервера (который, как вы говорите, у вас нет доступа), чтобы скопировать данные в тело или другой заголовок ответа).

Ответ 2

Вы можете установить компоненты на стороне сервера.

Вы можете использовать выделенный домен для размещения своего файла 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..

Ответ 3

Думаю, вы можете сделать это, вставив на свою страницу iframe с помощью src, указывающего на домен "с cookie". Скажи http://cookiedomain.com/some.html. На странице some.html будет запущен javascript, который обращается к cookie и устанавливает некоторую глобальную переменную