Я знаю, что эта тема широко освещалась, но я полностью застрял и нуждаюсь в каком-то направлении и новых мнениях. У меня есть приложение iFrame для Facebook, которое отлично работает в IE6,8, Safari, Chrome, FF и т. Д. Только IE7 дает мне печаль.Facebook iFrame application - IE7, не разрешающий куки
Я создал файл политики P3P и связанный с ним файл XML. Политика полностью проверяется с помощью валидатора политики P3P.
Как только iFrame загружается из Facebook, появляется значок «красных глаз», и когда я нажимаю на него, он сообщает, что файлы cookie из домена iFrame заблокированы. Я подтвердил, что параметр конфиденциальности для среды «по умолчанию» установлен в IE7. Интересно, что я обнаружил, что, удалив Google Analytics, страница будет загружаться изначально, не блокируя файлы cookie, но как только перезагрузка страницы или вход в систему пользователя, файлы cookie затем блокируются снова, даже если заголовок P3P отправляется немедленно из каждого стр. Все активы отправляются через S3, поэтому там не должно быть никаких проблем.
FYI, вот мой файл P3P; Я пробовал абсолютные пути, относительные пути, порядок переключения CP и policyref и разделял их на отдельные вызовы заголовков без везения.
header('P3P: CP="NON DSP TAIa PSAa PSDa OUR IND UNI", policyref="/w3c/p3p.xml"');
Я подтвердил, что заголовок P3P отправляется и принимается браузером. Я добавил метку META p3p на страницу HTML. Я удалил все переадресации. Тем не менее проблема сохраняется. Я потратил столько времени на это, и теперь у меня нет идей. Любые мысли или идеи о том, как приблизиться к этому с новой точки зрения, будут очень признательны. Я использую PHP 5.3.5 над NGINX. Никакой каркас не используется ...
Hi Peter: очень интересно, спасибо за ваше объяснение. К сожалению, наши запросы выполняются через AJAX, поэтому жесткие обновления не являются вариантом. То, что мы в конечном счете сделали, это хранить необходимые данные в объекте JSON и проверять, что данные после представления, если у нас был действительный сеанс, и в противном случае (т.е. 7), отправили данные. Поскольку приложение работало только в течение короткого времени, мы не слишком беспокоились о фальсифицированных данных. Мы также используем JS SDK для уничтожения недействительных сеансов (только с тех пор, как файлы cookie FB управляются через их домен), поэтому по этой причине не удалось пройти этот маршрут. – Tyler