Почему IE7 отклоняет файлы cookie сеанса со страницы в кадре?

Я создаю веб-сайт, который загружается в набор frameset другими сайтами (где имена доменов разные для родительского сайта).

Это отлично работает во всех браузерах (включая IE6), за исключением IE7. Он вообще не регистрирует сеанс и просто не работает.

Сайт реализован с использованием LAMP, MySQL 5 и PHP 5 – да, вероятно, не имеет отношения к реальной проблеме, но стоит упомянуть.

Какие-либо предложения?

Вы можете попробовать добавить заголовок P3P на свой сайт следующим образом:

 header('P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"'); 

См. Это сообщение в блоге для подробностей.

Это стандартная настройка безопасности Internet Explorer. Он не принимает «сторонние файлы cookie» (т. Е. Файлы cookie из домена, отличного от того, что отображается в адресной строке). Среди других применений это мешает рекламодателям сохранять файлы отслеживания для своих объявлений, отображаемых на других сайтах.

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

Я думаю, что если вы добавите соответствующую P3P-политику, тогда IE разрешит файлы cookie.

Я создал его с помощью редактора политики IBM P3P .

Имеет ли имя хоста / доменное имя символ подчеркивания (т.е. test_site.localdomain)? Если это так, это может быть проблемой, поскольку IE выполняет некоторую базовую проверку имени домена перед установкой файлов cookie (и, следовательно, запоминает сеанс), и он отклоняет подчеркивания / подчеркивания в имени хоста.