Передача данных cookie между окнами iframe

Скажем, у меня есть веб-сайт www.example.com с полем входа, которое находится в iframe, расположенном на api.example.com. У меня вопрос:

  1. Можно ли передавать данные cookie из внутреннего iframe (api.example.com на веб-сайт, чтобы веб-сайт знал, когда пользователь вошел в систему?
  2. Можно ли сделать это на стороне клиента без необходимости обновлять всю страницу? Каким образом факт входа пользователя в систему будет передан на веб-сайт?

Любое решение, работающее на FF и IE 6/7, было бы отличным.

Добавьте тег для вашей серверной платформы

AnthonyWJones 18.01.2009 11:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
1
2 995
2

Ответы 2

Cookie-файл может совместно использоваться двумя доменами, такими как api.example.com и www.example.com, если сервер указывает, что домен cookie будет просто example.com. Это делает файл cookie доступным для обоих поддоменов.

FF3 и IE8 поддерживают стандарт postMessage, который позволяет окнам (фреймам) в разных доменах взаимодействовать друг с другом. Однако для IE6 / 7 вам понадобится вызов AJAX на сервер, чтобы получить любое необходимое подтверждение входа в систему, но сложная вещь будет знать, как инициировать такой запрос.

Вам не нужно передавать файлы cookie между ними. Однако вам нужно записать cookie в правильный домен.

Response.Cookies("COOKIENAME").Domain = ".example.com"
Response.Cookies("COOKIENAME").Value= "foo"

Другие вопросы по теме