Как я могу сохранить сеанс в iframe?

Предположим, у меня есть веб-приложение, которое я хочу встроить в любой другой сайт с помощью iframe. iframe ссылается на мой сайт и работает независимо от веб-страницы хостинга.

Что ж, браузер считает iframe сторонним сайтом, поэтому его файл cookie сеанса считается сторонним файлом cookie. Существуют некоторые методы, чтобы сделать браузеры счастливыми (например, заголовок P3P), но все же возможно, что пользователь полностью отключит сторонние файлы cookie. Если это так, то файлы cookie сеанса не могут сохраняться в iframe.

Каковы хорошие методы сохранения сеанса в iframe на стороннем сайте?


person spoulson    schedule 27.05.2009    source источник


Ответы (2)


Я столкнулся с аналогичной проблемой, с которой вы столкнулись здесь. Существует обходной путь (не будет работать, если вы намерены отслеживать поведение пользователей на разных сайтах).

я. Поместите основной постоянный файл cookie в домен, на котором будет размещен ваш iframe. (Это можно сделать с помощью JavaScript).

II. Динамически вставьте iframe и передайте значение файла cookie на свой сайт.

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

Я не встречал другого способа обойти это. Если вы найдете более приемлемое решение, дайте мне знать.

person rAm    schedule 04.06.2009

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

Лучшее, что я мог придумать, это сеансы без файлов cookie. Это немного вручную, но с этим сайтом, работающим на PHP, мне просто нужно убедиться, что строка запроса всегда содержит «PHPSESSID=x», и она автоматически прикрепится к этому идентификатору сеанса.

person spoulson    schedule 04.06.2009