Cookies von Iframes im Internet Explorer
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:
<pre> header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');</pre>
Beispielcode ASP.NET:
<pre> HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");</pre>
Beispielcode Django:
<pre> response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'</pre>
Beispielcode Django:
<pre> response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")</pre>
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:
<pre>// Show all errors:
error_reporting(E_ALL);
<strong>//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"');</strong>
// Path to the chat directory:</pre>
Blueimps Ajax Chat lief nun auch innerhalb eines Iframes im Internet Explorer.

Author: Andreas Lang
Andreas Lang hat im Alter von 12 Jahren begonnen, auf einem Atari ST 1040 STFM in Omikron und STOS Basic zu programmieren.
Spiele interessierten ihn nicht so sehr.
Die Welt der Bits und Bytes hat ihn gefangen.
Programmierertechnisch folgten auf dem ersten 486er Turbo Pascal, Visual Basic.
Mit dem ersten Internet Anschluss per 56k Modem folgten HTML, Javascript, CSS und Macromedia Flash.
Die Website www.wizzquiz.de wurde geboren.
Eine Flash Online-Gaming Plattform mit Quiz Spielen, Memory, Sokoban etc.
Später entwickelte er Software unter anderem für Continentale und Siemens AG.
Seit zwei Jahrzehnten konzentriert er sich auf die Webentwicklung und Webdesign mit dem Schwerpunkt PHP, Laravel und Javascript und betreut seine Kunden mit Herz und Seele in allen Bereichen von Entwicklung, Design, Suchmaschinenoptimierung, IT-Recht, IT-Sicherheit etc.