Hoi,
kann mir jemand von euch genau erklären, auf welchen
verschiedenen Wegen eine Website Cookies setzen (und lesen)
kann?
Es gibt zwei Moeglichkeiten: HTTP-Kommunikation und JavaScript. Man
kann Cookies mit JavaScript setzen, schreiben und
lesen (http://selfhtml.teamone.de/javascript/objekte/document.htm#cookie)
oder ueber die HTTP-Header 'Set-Cookie' schreiben. Ausgelesen werden
koennen sie serverseitig nur ueber den Antwort-Header: 'Cookie'.
Hintergrund: Ich sitze an meinem Arbeitsplatz hinter einer
Firewall, die einige Netzwerkprotokolle (z.B. POP3, SMTP)
blockiert.
Cookies sind kein Protokoll. Sie sind vielmehr eine Erweiterung
des HTTP-Protokolls. Wenn das ungefiltert durchgelassen wird, dann
funktionieren Cookies auch wie gewohnt.
Und als Beinahe-Insider kann ich das Phänomen sowieso nicht
richtig nachvollziehen. AFAIK werden Cookies durch Skripte
innerhalb des HTML-Codes gesetzt und gelesen.
Das HTML hat damit nichts zu tun, bzw. nur bedingt, naemlich nur
dann, wenn Cookies per JS gesetzt werden. Ansonsten laeuft alles
auf HTTP-Ebene ab.
Okay, der Code kann natürlich durch serverseitige Skripte
dynamisch generiert sein, aber er wird auf jeden Fall erst von
meinem Browser interpretiert. Also wie kann die Firewall
dazwischen überhaupt Cookies aufspüren?
Natuerlich. Eine Firewall/ein Proxy kann die Pakete, die ueber sie/
ueber ihn laufen, beliebig veraendern. Unser Firmen-Proxy z. B.
downgraded HTTP/1.1 auf HTTP/1.0 und enfernt aus dem Accept-Encoding
das gzip, damit er die Inhalte filtern kann.
Gibt es außer Skripten noch andere Möglichkeiten, diese Kekse zu
erzeugen bzw. zu lesen?
Natuerlich. Einige HTTP-Server senden in ihrer Default-Konfiguration
einen Cookie (Lotus Domino).
Komisch ist auch, dass trotz aller Blockaden eben doch ab und zu
etwas im Cookie-Verzeichnis auftaucht, aber da kann ich keine
Regelmäßigkeit erkennen.
Dann stimmt vielleicht etwas mit deinem System nicht.
Gruesse,
CK