Wie arbeiten Cookies
Karl Heinz
- cookies
- https
- webserver
1 Matthias Apsel1 Christian Kruse2 Orlok
0 pl
1 pl
Hallo,
nehmen wir an eine Webseite verwendet Google Analytics. Nehmen wir des weiteren an in der Datenschutzerklärung gibt es einen Link mit dessen Hilfe das ga-disable Cookie auf true gesetzt werden kann. Das Setzen dieses Cookies hindert Google Analytics an der Ausführung. In der Praxis funktioniert das prima. Was mich interessiert ist was hier technisch im Hintergrund abläuft bzw. wie das gesetzte Cookie dazu führt, dass Google Analytics am Tracking gehindert wird.
Ich stelle mir das so vor:
Bis hierhin alles klar. Aber dann ein großes Fragezeichen.
Dem Server liegt das Cookie vor. Wie wird nun anhand dieses Cookies die Ausführung des Google Analytics Codes verhindert bzw. wird der Analytics Code ausgeführt aber an der Übermittlung gehindert?
Viele Grüße
Hallo Karl Heinz,
Dem Server liegt das Cookie vor. Wie wird nun anhand dieses Cookies die Ausführung des Google Analytics Codes verhindert bzw. wird der Analytics Code ausgeführt aber an der Übermittlung gehindert?
Gar nicht. Ein Cookie ist lediglich eine Textdatei (siehe https://wiki.selfhtml.org/wiki/Cookie). Google findet diesen Cookie und hält sich an das Versprechen, nicht zu tracken.
Bis demnächst
Matthias
Hallo Matthias,
Dem Server liegt das Cookie vor. Wie wird nun anhand dieses Cookies die Ausführung des Google Analytics Codes verhindert bzw. wird der Analytics Code ausgeführt aber an der Übermittlung gehindert?
Gar nicht. Ein Cookie ist lediglich eine Textdatei (siehe https://wiki.selfhtml.org/wiki/Cookie).
Naja. Das war früher so, heutzutage verwenden Browser dafür eher eine Datenbank, etwa SQLite.
Google findet diesen Cookie und hält sich an das Versprechen, nicht zu tracken.
Was als Hintergrund-Info vielleicht fehlt: solange der Cookie nicht das Flag httpOnly
hat, ist er über document.cookies
via JS einsehbar. Diesen Weg wird GA nutzen.
LG,
CK
Hallo Christian
Was als Hintergrund-Info vielleicht fehlt: solange der Cookie nicht das Flag
httpOnly
hat, ist er überdocument.cookies
via JS einsehbar.
Genau genommen ist er dann über document.cookie
einsehbar. ;-)
Es handelt sich hierbei nicht um eine HTMLCollection wie document.forms
oder auch document.links
, sondern die Eigenschaft ist vom Typ String und wird als ein Getter/Setter-Paar implementiert.
Setzen von Cookies geht hier nur einzeln durch Zuweisung:
// implicit calls to setter
document.cookie = 'once=true';
document.cookie = 'twice=false';
Beim Lesen bekommt man alle Cookies in einem String:
// implicit call to getter
console.log(document.cookie); // "once=true; twice=false"
Viele Grüße,
Orlok
Hallo Orlok,
Was als Hintergrund-Info vielleicht fehlt: solange der Cookie nicht das Flag
httpOnly
hat, ist er überdocument.cookies
via JS einsehbar.Genau genommen ist er dann über
document.cookie
einsehbar. ;-)
Hehe, stimmt. Vertippt. Danke.
LG,
CK
Dem Server liegt das Cookie vor. Wie wird nun anhand dieses Cookies die Ausführung des Google Analytics Codes verhindert bzw. wird der Analytics Code ausgeführt aber an der Übermittlung gehindert?
Gar nicht. Ein Cookie ist lediglich eine Textdatei (siehe https://wiki.selfhtml.org/wiki/Cookie). Google findet diesen Cookie und hält sich an das Versprechen, nicht zu tracken.
Das ist kompletter Unsinn. Wie bitte soll Google denn einen Cookie, also eine Textdatei auf einem entfernten Rechner finden!?
Besser Du bleibst bei Deinen Elchen die bei Vollmond Brötchen backen!
MfG
Hallo pl,
alter Schwede, du solltest dich mit deiner Arroganz vielleicht zurückhalten.
Das ist kompletter Unsinn. Wie bitte soll Google denn einen Cookie, also eine Textdatei auf einem entfernten Rechner finden!?
document.cookie
existiert, und für Google Analytics wird ein JavaScript von Google eingebunden. Rätsel gelöst.
LG,
CK
Hallo Christian,
aber so einfach ist das doch - hoffentlich - nicht.
Cookies sollten doch einen Scope haben, d.h. Inhalte der Seite X sehen Cookies von X, aber nicht von Y.
D.h. wenn www.example.org einen GA-Cookie setzt, und ein Script von Google Analytics nachlädt, dann wäre doch zu hoffen dass dieses Script diesen Cookie nicht sieht.
Anders ist es, wenn www.example.org selbst ein Stück Code von Google ausliefert; dieses Stück Code sieht einen GA-Cookie, der von example.org stammt.
Wenn www.example.org ein Bild von commons.wikimedia.org einbindet, und zum Bild ein Set-Cookie Response Header kommt, dann sollte dieser Cookie als Third-Party Cookie deaktivierbar sein (in den Browser-Einstellungen) und er sollte getrennt von den www.example.org Cookies gespeichert sein. Und ein Script, das von www.example.org kommt, sollte den commons.wikimedia.org Cookie auch nicht sehen.
Zumindest ist das so mein Kenntnisstand. Bin ich da fehlinformiert?
Rolf
Hallo Rolf,
Zumindest ist das so mein Kenntnisstand. Bin ich da fehlinformiert?
Ich glaube eher, du hast das missverstanden. Das JS wird im Kontext des Dokuments eingebunden, via <script>
-Tag. Die URL ist zwar eine Google-URL, aber der Kontext ist trotzdem der des Dokuments, du hast es ja via <script>
-Tag eingebunden.
Ich habe dir mal einen Versuchsbaukasten aufgebaut. Die Bausteine:
document.cookie
in ein Textfeld?set-cookie
aufgerufen, wird vorher ein Cookie gesetzt.Um das nachzuvollziehen rufst du also https://cloud.defunct.ch/test.html?set-cookie auf und danach https://cloud.defunct.ch/test.html. Beide male enthält das Textfeld foo=bar
.
Edit: du hast mich übrigens tatsächlich kurz unsicher gemacht 😉
LG,
CK
Hallo Christian,
ich kann es im Moment nicht probieren weil ich fern vom PC bin, aber ich glaube es einfach mal 😀
Danke für die Klarstellung.
Rolf
Hallo,
Besser Du bleibst bei Deinen Elchen
Aber Vorsicht! Die größten Kritiker der Elche sind selber welche...
Gruß
Kalk
Hallo,
Dem Server liegt das Cookie vor. Wie wird nun anhand dieses Cookies die Ausführung des Google Analytics Codes verhindert bzw. wird der Analytics Code ausgeführt aber an der Übermittlung gehindert?
Aus der Sicht eines serverseitigen Prozesses hat ein Cookie einen bestimmten Namen und einen bestimmten Wert. Wobei dieser Wert auch nur eine Bytefolge ist, kann man in einer Solchen auch weitere Datenstrukturen abbilden.
Allgemein jedoch kann man feststellen, daß man mit einem Schlüssel-Wert-Paar was ein Cookie liefert, programmiertechnisch all das machen kann, wofür dieser Cookie bestimmt wurde.
MfG
Hallo pl,
Allgemein jedoch kann man feststellen, daß man mit einem Schlüssel-Wert-Paar was ein Cookie liefert, programmiertechnisch all das machen kann, wofür dieser Cookie bestimmt wurde.
Bei Vollmond backt der Elch die hellsten Brötchen.
Bis demnächst
Matthias
Allgemein jedoch kann man feststellen, daß man mit einem Schlüssel-Wert-Paar was ein Cookie liefert, programmiertechnisch all das machen kann, wofür dieser Cookie bestimmt wurde.
Bei Vollmond backt der Elch die hellsten Brötchen.
Auf den Inhalt kommt es an!
MfG