0 3413

Cookies von Iframes im Internet Explorer

Ich bin mal wieder über eine Stolperfalle des Internet Explorer gestolpert. Ich installierte einen AJAX-Chat von Blueimp auf einem Server und sollte diesen dann auf einer anderen Seite per iframe anzeigen lassen.

Dies ist der Chat: Ajax Chat.

Beim Test des Chats im Internet Explorer erschien die Meldung, daß Cookies benötigt werden. Cookies waren jedoch angeschaltet.

Eine Recherche ergab, daß die W3C eine Platform for Privacy Preferences kurz P3P erstellt hat.
Wer es nachlesen möchte findet den originaltext hier: P3P – Platform for Privacy Preferences
Hierbei geht es um den Umgang mit Cookies von Drittanbietern. Der Internet Explorer behandelt dies anders als Opera, Firefox und alle anderen. Beim Internet Explorer muss man in jede Datei, die mit Cookies arbeitet folgende Header einfügen:

Beispielcode PHP:

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

Beispielcode ASP.NET:

   HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

Beispielcode Django:

   response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'

Beispielcode Django:

   response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

Für den Ajax-Chat von Blueimp galt es nun diesen Header an einer geeignete Stelle einzufügen. Ich habe dazu gleich die index.php genommen und an folgende Stelle im Code eingefügt:

Beispielcode Blueimp Ajax Chat index.php:

// Show all errors:
error_reporting(E_ALL);
//header for iframe cookies in Internet Explorer:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

// Path to the chat directory:

Blueimps Ajax Chat lief nun auch innerhalb eines Iframes im Internet Explorer.