Cookies kontrollieren mit PHP und JS

Das Setzen von Cookies durch eigene oder fremde Skripte lässt sich sowohl mit Hilfe von PHP und JavaScript fein steuern. Obwohl dies keine ausreichende Lösung für die Umsetzung von Cookie-Lösungen nach dem Gerichtsurteil gegen Planet49 darstellt (hier ist es entscheidend, dass Tracking-Tools wie Google Analytics gar nicht erst nicht mittracken und damit in der Folge auch keine Cookies setzen), kann es sinnvoll sein, Cookies generell zu white-/blacklisten.


In PHP ist dies einfach zu bewerkstelligen: Hier modifiziert/löscht man etwaig gesetzte Set-Cookie-Header. Ruft man folgendes Script auf, nachdem mit Hilfe von setcookie Cookies für den Response Header vorbereitet wurden, werden nicht gewünschte Header entfernt und damit diese Cookies gar nicht erst gesetzt. Außerdem werden in der Vergangenheit gesetzte Cookies (z.B. falls das Prevention-Script aus irgendeinem Grund nicht gegriffen hat), ebenfalls gelöscht.

8b723b3329c080e9245028b4d0a3fc64

In JavaScript ist dies etwas weniger trivial: Hier überschreiben wir mit Hilfe von Object.defineProperty (dem mächtigen Nachfolger von __defineGetter__ und __defineSetter__) die Getter/Setter Methoden des Objekts document, die immer dann aufgerufen werden, wenn man mit Hilfe von document.cookie Cookies liest und schreibt. Object.getOwnPropertyDescriptor erhält dabei den originalen Getter/Setter, wobei man den Setter nur dann aufruft, wenn der Cookie auch erlaubt wird:

8b723b3329c080e9245028b4d0a3fc64

Zurück