Чтение куки на разных хостах - PullRequest
0 голосов
/ 30 марта 2010

У меня есть два сайта - оба мои проекты. На втором сайте мне нужно проверить, вошел ли пользователь на первый сайт. Я полагаю, что для этого мне нужно просто создать скрипт, который помещает cookie в тело iframe, а затем читать содержимое iframe на втором сайте. Но я не могу.

Вот код, который я сделал для тестирования:
http://jsbin.com/oqaza/edit

Я получил ошибку, которая говорит:

"В доступе отказано <<a href="http://jsbin.com" rel="nofollow noreferrer">http://jsbin.com> чтобы получить собственность HTMLDocument.nodeType from <<a href="http://www.google.com" rel="nofollow noreferrer">http://www.google.com>."

Ответы [ 3 ]

1 голос
/ 30 марта 2010

Документы Iframe подчиняются политике Same Origin * - вы не можете получить доступ к контенту на одном хосте со страницы на другом хосте. То же самое относится и к AJAX-запросам.

Для современных браузеров одним из решений является Обмен сообщениями между документами .

0 голосов
/ 20 июля 2010

Я наконец получил это. Обычно существует решение, подобное «OpenID» (используется даже здесь, на SO), но я обнаружил, что JSONP - это самый простой способ чтения файлов cookie в домене:)

0 голосов
/ 30 марта 2010

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

Лучшим способом было бы создать веб-сервис (или MVC JsonResult, если вы находитесь в .Net MVC) на сайте 1, который может отвечать на запрос AJAX с сайта 2 относительно статуса входа в систему.

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