Hinweis: Opt-Out-Cookie, iFrame, P3P Header


#1

Ich habe in interessantes (wenn auch im Endeffekt banales) Problem “entdeckt”. Wenn Piwik auf einer anderen Domain läuft als die Webseite, für die die Statistik erhoben wird, sperrt sich der Internet Explorer gegen das Setzen des Opt-Out-Cookies, sofern der Opt-Out-Text auf der Webseite über einen iFrame eingebunden wird.

In diesem Fall liegt es an den Standard-Sicherheitseinstellungen des Internet-Explorers. Die Statistik-Domain gilt in o.g. Fall ja als “Drittanbieter”. IE akzeptiert keine Cookies von Drittanbietern, wenn kein P3P-Header mitgeliefert wird.

Piwik liefert den Header von sich aus nicht. Falls auf dem Webserver mod_headers aktiv ist, kann man das Problem aber selber beheben, indem man in die .htaccess im Piwik-Hauptverzeichnis einfach


header append P3P "CP=\"CAO PSA OUR\""

einträgt. Mit diesem P3P-Header akzeptiert der Internet Explorer auch das Opt-Out-Cookie, wenn es in einem iFrame über eine andere Domain kommt.

Mehr Info siehe hier


(Fabian Becker) #2

Danke für den Hinweis MuX512! Ich werde einen Patch dafür bauen, ist ja doch eher unpraktisch wenn Leute vom OptOut ausgeschlossen werden :wink:


#3

Hallo,

bei mir hat der Fix nicht funktioniert. Ich musste in der index.php folgendes einfügen:


header('P3P: CP="CAO PSA OUR"');

Da ich kein pikiw-Entwickler bin - gibt es die Möglichkeit die Header per Plugin zu modifizieren? Denn am Core-File finde ich das wirklich hässlich!

Viele Grüße
Philipp


#4

Dann ist mit hoher Wahrscheinlichkeit auf Deinem Webserver mod_headers nicht aktiv. Daher bleibt Dir wohl nur die Modifikation der index.php von Hand, falls Du keine Kontrolle über den Webserver haben solltest.

Deine Frage zum Plugin kann ich nicht beantworten, da bin ich überfragt.


#5

Der in die .htaccess eingebaute Befehl (#1) hat bei mir das Problem für den Internet Explorer behoben. Ich setze Piwik ebenfalls auf einem entfernten Server ein und binde die optOut Funktion per iFrame ins Impressum ein.

Leider macht Safari 5.1.5 hier seit neuestem Probleme (getestet bei mir unter Mac OS X und Windows 7). Bei einer früheren Version von Safari gelang es noch das Häkchen zu entfernen. Nach dem Update des Browsers wiedersetzt es sich hartnäckig.

Irgendwer eine Idee?


#6

So wie es aussieht ist das ein Safari Sicherheist-“Feature”, was man nicht so ohne weiteres umgehen kann. Der User muss die Seite mit dem Safari geöffent haben, durch Klick eines Links z.B., um sich via Checkbox das Cookie setzen zukönnen. Ich konnte es noch mit 5.1.2 setzen, schien aber ein Bug zu sein, da es jetzt mit Safari 5.1.4, derzeitig die höchste Version für XP Nutzer, nicht mehr funktioniert.

Gut zu wissen, das man unter IE den P3P Header setzen muss. Hoffe dass das bei einer Neuinstallation von Piwik berücksichtigt wird. Also die .htacces die notwendige Zeile beinhaltet.

Lösungsvorschlag Safari:
Das Piwik Team müsste erkennen, das es sich bei dem Besucher um einen Safari User handelt und einen Link zu abschaltungen anbieten, welcher sich per _blank öffnet. Dort kann der Safari User sich dann das Cookie setzen lassen. Das wäre die einzige Lösung, die auch relativ sauber wäre.

Weitere Möglichkeit die mir grad einfällt:
Das Formular, welches das Cookie setzt müsste als target das oberste Fenster haben, also _top. Piwik sollte dann das Cookie setzen können. Damit der User wieder auf der Seite für die Tracking Abschaltung landet, müsste es nur zum Referer wieder zurück umleiten. Falls das mit dem Referer nicht so klappt, könnte man auch die Rücksprungadresse als Parameter mitgeben.

Müsste jemand mal einen Bugreport für machen, damit das bei den richtigen Leuten ankommt.


#7

ich habe das gleich problem jetzt auch im firefox 30.0. ich habe unter eigenschaften -> datenschutz abgelehnt, dass cookies von drittanbieter akzeptiert wird. da piwik von der seite domain.de aufgrufen wird und unter piwik.domain.de läuft, scheint das das problem zu sein.

auch ich habe keine rechte, mod_headers auf dem webserver zu aktivieren. daher funktioniert der fix über die .htaccess datei nicht.
in die index.php von piwik würde ich ungern eingreifen.

ein ticket wurde wohl dazu schon eröffnet: Make Piwik opt-out feature work on safari and internet explorer · Issue #3135 · matomo-org/matomo · GitHub
gibt es da neuigkeiten? was bedeutet Meilenstein von 2.2 - Piwik 2.2 nach 2.x - The Great Piwik 2.x Backlog geändert so wie es im bugtracker steht? ist ein fix für piwik in arbeit?