Есть у меня приложение, которое подключается на сайте с помощью 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 в ИЕ.
Комментарии
Актуально для iframe приложений вконтакте.
Но почему то иногда эти сессии не срабатывают в safari.
спс за экономию времени :)!
а как насчет оперы? те же проблемы :(
Не помогло, куки все равно не пишутся)
В опере и остальных браузерах все нормально)
ИЕ - аццтой)
Спасибо, помогло только появляеться сообщение типа: "Как правило сценарии не опасны. Разрешить выполнение сценариев ?" 8(
Спасибо. Работает