ich wollte mal wissen, wie das mit dem http_referer ist..
soweit ich weiss, wird der nur ausgegeben, wenn folgende bedingungen (unter php) erfüllt sind:
- php muss als modul im apache laufen (also nicht als cgi)
Da wäre ich mir nicht so sicher. Dei CGI-Schnittstelle definiert einen ganzen Haufen Variablen, zu denen auch die HTTP-Kopfdaten zählen, die der Browser gesendet hat (inklusive HTTP_REFERER, siehe http://hoohoo.ncsa.uiuc.edu/cgi/env.html).
Es ist aber nicht auszuschließen, daß diese Daten woanders erscheinen, statt in $_SERVER (Modulversion) beispielsweise in $_ENV (CGI-Variablen sind stinknormale Umgebungsvariablen).
- der browser muss die variable mitsenden können (welcher tut das und welcher tut das nicht?)
Können tun es alle HTTP-Clients, machen tun es die meisten, abschaltbar ist es bei bestimmt 3/4 der am Markt befindlichen, bedeutenden Browser, als da wären: IE, Mozilla, Netscape, Opera. Zusätzlich gibt es diverse Programme, mit denen sich auch die Auskunftsfreudigkeit des IE abwürgen lässt, Stichwort Webwasher & Co.
Die dritte Variante hast Du übrigens vergessen: Es muß eine verweisende Quelle benutzt worden sein. Wenn Du die Adresse direkt eintippst, bekommst Du sinnigerweise auch kein HTTP_REFERER, selbiges gilt bei Auswahl aus den Lesezeichen/Favoriten (mit Ausnahme einiger Browser, die "[bookmarks]" o.ä. senden).
Gruß,
soenk.e