2009-06-19 15 views
21

Wenn ich eine Website (zB foo.com) und auf der Startseite von foo.com habe, gibt es eine Bildanfrage, wo die src = bar.com ..., die Cookies auf der bar.com Domain gesendet werden zu den bar.com Servern?Werden Cookies mit Bildanfragen gesendet?

Danke!

Antwort

22

Ja. HTTP unterscheidet nicht zwischen einer Art von Ressource oder einer anderen (Bild vs. html).

+0

Aus diesem Grund können Ad-Server wie DoubleClick usw. Sie über das Internet verfolgen. – chris

+1

Ich habe diese Tatsache verwendet, um Cross-Domain-Login-Cookies zu setzen. Nicht einmal annähernd zuverlässig (nur weil der Benutzer nicht darauf wartet, dass Ihr Bild geladen wird), aber es funktioniert definitiv. – ojrac

+0

@ojrac: Wikipedia (etc.) verwendet auch Bilder für Cross-Domain-Login, BTW. – derobert

10

Der Cookie wird normalerweise in jede Art von Anfrage eingeschlossen, aber das von Ihnen beschriebene Szenario ist ein so genannter Cookie von Drittanbietern (das heißt, der Cookie wird auf eine Domäne gesetzt, die sich von der Domäne unterscheidet die geladene Seite) und die meisten Browser bieten eine Datenschutzeinstellung, um Cookies von Drittanbietern zu blockieren.

Ein Drittanbieter-Cookie ermöglicht es den Eigentümern von bar.com, ein Bild (etwa eine Banneranzeige) auf foo.com zu platzieren und die Nutzer von foo.com zu verfolgen, obwohl diese Nutzer bar.com noch nie besucht haben. Dies ist ein Datenschutzproblem, und viele Benutzer entscheiden sich, solche Cookies zu blockieren.

2

Ja Cookies werden auf alle Anfragen gesendet. Dies schließt "img" und "script" sowie XMLHttpRquest-Aufrufe von JavaScript ein und kann ein Sicherheitsproblem bei Skript-Tags sein, da von einer Website geladene Skripts Skripte von einer anderen Website laden und ihre Authentifizierungscookies ebenfalls senden können. Dies kann ausgenutzt werden, um Daten zu stehlen.

+0

XMLHttpRequest ist ein Thema des CORS-Schutzes. – Vanuan

3

Wenn Drittanbieter-Cookies nicht vom Benutzer blockiert werden, werden die meisten modernen Browser Cookies der Drittanbieter-Domäne festlegen oder senden, wenn eine Anfrage an die Website des Drittanbieters gestellt wird. IE 6 hat eine andere Art von Blockiermechanismus, der als Leashing bezeichnet wird. wiki: Ein Leash-Cookie ist ein Cookie eines Drittanbieters, der nur dann vom Browser gesendet wird, wenn ein Dokument eines Drittanbieters über denselben Erstanbieter zugreift.

Verwandte Themen