Wirkungsweise von Cookies

Hi!
Ich führe zur Zeit eine heftigere Diskusssion in einem Forum über die Möglichkeiten von Cookies. Hauptsächlich geht es darum, wieweit eine Website bzw. ein HTTP-Server mit Cookies das Verhalten des Surfers bzw. dessen Daten auslesen kann.

Meine Meinung ist (grob umrissen) so:
Cookies können nur von einer Webseite gesetzt werden und auch nur von dieser wieder ausgelesen werden. Es ist unmöglich Cookies anderer Seiten auszulesen.
Cookies sind im Prinzip nichts anderes als INI-Dateien, in denen Webseiten Variablenwerte zwischenspeichern können. In Cookies kann kein ausführbarer Code gespeichert werden!
Cookies werden in HTML-Dokumenten über eine einfache JavaScript-Anweisung gesetzt. Dabei hat man keinen Einfluß darauf, wo und in welcher Form das Cookie angelegt wird. Dies übernimmt der Browser, der die Anforderung eines Cookies von der Website über das HTTP-Protokoll erhält.
Über JavaScript können lediglich allgemeine Informationen wie Bildschirmauflösung, Browserversion, History etc. ausgelesen werden. Das Scannen der Festplatte usw. ist nicht möglich, ebensowenig wie das Verändern von userspezifischen Daten.

Ich wüßte gerne, ob es noch andere Möglichkeiten gibt, Cookies zu setzen (ich hab da mal was über CGI gelesen…). Inwieweit kann ein Webserver die Cookies beeinflussen? Ist es möglich mit Cookies oder auf anderem Weg die zukünftigen angesteuerten Webseiten zu registrieren? D.h.: Kann man, auf welche Weise auch immer, von einer bestimmten (meist der eigenen) Website verfolgen, welche Webseiten der Surfer DANACH anwählt?

Ich hoffe, ich hab das Problem verständlich rübergebracht. Wäre schön wenn sich schnell einer melden würde.

Danke!

Hallo,

Meine Meinung ist (grob umrissen) so:
Cookies können nur von einer Webseite gesetzt werden und auch
nur von dieser wieder ausgelesen werden. Es ist unmöglich
Cookies anderer Seiten auszulesen.

so weit ich weiss richtig.

Cookies sind im Prinzip nichts anderes als INI-Dateien, in
denen Webseiten Variablenwerte zwischenspeichern können. In
Cookies kann kein ausführbarer Code gespeichert werden!
Cookies werden in HTML-Dokumenten über eine einfache
JavaScript-Anweisung gesetzt.

oder ueber PHP oder ueber einen Meta-tag oder ueber andere CGIs

Dabei hat man keinen Einfluß
darauf, wo und in welcher Form das Cookie angelegt wird. Dies
übernimmt der Browser, der die Anforderung eines Cookies von
der Website über das HTTP-Protokoll erhält.
Über JavaScript können lediglich allgemeine Informationen wie
Bildschirmauflösung, Browserversion, History etc. ausgelesen
werden. Das Scannen der Festplatte usw. ist nicht möglich,
ebensowenig wie das Verändern von userspezifischen Daten.

Javascript - mag sein.
ActiveX in Verbindung mit ein paar IE-Sicherheisluecken - moechte ich gar nicht wissen. - Da geht auf jeden fall mehr.

Ich wüßte gerne, ob es noch andere Möglichkeiten gibt, Cookies
zu setzen (ich hab da mal was über CGI gelesen…). Inwieweit
kann ein Webserver die Cookies beeinflussen? Ist es möglich
mit Cookies oder auf anderem Weg die zukünftigen angesteuerten
Webseiten zu registrieren? D.h.: Kann man, auf welche Weise
auch immer, von einer bestimmten (meist der eigenen) Website
verfolgen, welche Webseiten der Surfer DANACH anwählt?

soweit ich weiss nicht.

Das Problem ist eher folgendes:
Wie Du schon richtig sagtest, kann ein Cookie von dem gelesen werden, von dem es gesetzt wurde.
Da fallen aber nicht nur Seitenbetreiben drunter, sinder auch zB Banneranbieter.
Und wenn ein Banneranbieter auf jeder zweiten Seite, die Du ansteuerts ein Banner geschaltet hat (und bei grossen Seiten ist das nicht unwahrscheinlich), dann kann er zumindest schonmal recht genau Deinen Weg verfolgen.
Formulareingaben lassen sich ueber Javascript oder CGIs auch auslesen.
Oder aber URLs - und schau Dir mal die URL Deine Lieblingssuchmaschine nach der ersten Frage an…

In der c’t war - wenn ich mich richtig erinnere - letztens ein Artikel zu genau dem Thema - versuchs doch da mal in der Artikelsuchmaschine - wenn Du nichts findest sag nochmal Bescheid, dann schau ich im Buero im heise-Archiv, da laesst sich etwas genauer suchen

Greetinx
Christian
http://www.html-workshop.de

Hallo,

man kann in Cookies ausfuehrbaren JavaScript-Code speichern !
Cookies sind zwar keine INI-Dateien, aber praktisch ASCII-Dateien. Also folglich kann man ein Script als Text-String im Cookie speichern. Spaeter wieder auslesen und ueber eval() oder void() zur Ausfuehrung bringen. Der Netscape 4.76 macht es, wie man sich selbst davon ueberzeugen kann…

CU

Tut mir leid, aber das geht nicht.
Man hat keinen Einfluß (zumindest über keine mir bekannte Methode) darauf, in welcher Form die Variablenwerte in Cookies gespeichert werden. Und Cookies sind keine reinen ASCII-Dateien, zumindest nicht beim IE.

Was du schreibst ist in diesem Falle richtig.
Wenn du einer string-Variable als Wert Codeanweisungen gibts, diese in Cookies speicherst und später wieder ausliest, kannst du diese Anweisungen ausführen lassen. Aber nur wenn du dieselbe Seite erneut besuchst.
Ich meinte damit allerdings, das Cookies nicht „von sich aus“ etwas machen können. Wenn du z.B. die Codeanweisungen eines Programms in einem Cookie gespeichert hast, dann bleibt dieses Cookie solange inaktiv, bis die Seite erneut aus dem INET geladen wird. Der im Cookie gespeicherte Code kann sich nicht selbst ausführen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Cookies selbst bergen keine Gefahren, wie du schon aufführst, können sie nicht „fremdgelesen“ werden und führen selbst nichts aus, der Browser bestimmt wie und wo er sie abspeichert.
Sogesehen also keine Gefahr für Daten auf dem PC.

Cookies speichern kann mit so ziemlich jeder Web-Programmiersprache, da Sie über den HTTP Header übertragen werden, es also in der Programmiersprache (JavaScript, ASP, PHP, CGI, …) nur ein Befahl geben muß mit dem diese Info in den Header geschrieben wird und den gibt’s da eigentlich immer.

Das Problem ist nur, was man, bzw. die Seitenbetreiber, mit ihnen macht, also wozu man sie einsetzt.
Generell sind Cookies eine super Sache, harmlos und sehr nützlich, Sessionverarbeitung, Webshops u.A. arbeiten damit.
Natürlich verleitet die Tatsache, dass der Surfer das Cookie auch noch hat (je nach Typ des Cookies), wenn er mal wieder zu Besuch kommt, dazu, ihn zu beobachten.
Wenn dann Statistiktools, wie nedstat, die auf vielen verschiedenen Webseiten eingebunden sind, aber immer von einem Server aus ausgeführt werden, ein Cookie speichern, können sie so Benutzer immer wiedererkennen, da langt einen einzige Nummer im Cookie, die den User identifiziert.
Jetzt sammelt der Statistikjäger die Informationen, wann der User 123 auf welchen Webseiten ist, wie lang dort, welche Seiten er sich anschaut, von wo aus er wo hingeht usw.
Ist relativ einfach, hab *oh Schande* selber schon so ein Stats-Programm programmiert.
Gibt der User dann bei irgendeiner dieser Webseiten z.B. genauere Daten an wie Name, Email o.ä. dann ist der ganze bisher aufgezeichnete Weg von 123 technisch zu einer Person xyz zuordbar (muss sich aber erst einer die Mühe machen).
Diese Daten lassen sich dann auch verkaufen, und z.B. für Werbezwecke benutzen.

Vielleicht sagt dir Doubleklick was? Großer Bannersanbieter, die haben das gemacht und sind jetzt noch vor Gericht am streiten ob sie das überhaupt dürfen.

Mein Fazit, Cookies selbst sind sicher und harmlos, sowie sinnvoll für gewisse Anwendungen.
Jedoch passe ich, mit einem Cookie Tool wie CookiePal auf, wer welche Cookies bei mir speichern will.
Generell ist es sinvoll, nur Cookies anzunehmen, die von dem Server kommen, auf dem man gerade ist, sog. Drittanbieter-Cookies sollte man ablehnen. Cookies die nur für die Dauer der laufenden Sitzung bestehen sind auch ok, wenn’s dann bis 1.1.2075 gespeichert werden soll, schau ich genauer hin, was drinsteht, meistens lehn ich die dann aber ab.

Der IE6 hat übrigends neue Sicherheitsrichtlinien integriert, die Cookies genauer filtern, so werden Drittanbietercookies standardmäßig abgelehnt und man bekommt Information darüber.

Gruß
Enno

Thxs!

War sehr hilfreich.

Übrigens konnten wir die Diskussion doch noch „friedlich“ beenden. *lach*