IE блокирует куки из ифрейма (iframe) со стороннего домена

Есть у меня приложение, которое подключается на сайте с помощью iframe с другого домена. Приложение использует сессию для ведения пользователя по шагам и хранения некоторых данных. Все было хорошо пока система тестировалась на локальном компьютере, однако при переносе на боевой сервер (разные домены) выяснилось что ИЕ (любой интернет-эксплорер) отказывается держать сессию. А сессия, как известно, основана на куки. То есть она хранит идентификатор сессии в этих самых cookie. Поэтому был сделан вывод, что в IE кукисы не записываются в браузер.

Путем долгих поисков в интернете было выяснено, что проблема отказа работы Internet Explorer с cookie из ифрейма известна и было найдено ее решение, которое в свою очередь оказалось донельзя простым.

Если вам нравится копаться в спецификациях и стандартах W3C, то милости просим сюда: Platform for Privacy Preferences

А ежели нет - то просто добавьте на все страницы, которые пытаются записать куки, такой http-заголовок:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

И тогда - злополучный IE согласится работать! Вот такое простое решение невозможности записи cookie из iframe в ИЕ.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <i> <strong> <b> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
CAPTCHA на основе изображений
Введите код с картинки