de.comp.lang.php FAQ

12.4. Für welche Zwecke ist der Referer zu gebrauchen?

Antwort von Johannes Frömter

Für Webserver-Statistiken zum Beispiel. Im Standard-Format des access.log von Apache wird der HTTP-Referer erfasst (wenn der Browser einen liefert); bereiten Statistikprogramme diese Logfiles auf, können sie Aussagen über Klickpfade machen, z.B.:

  • Zugriffe: "Von welcher meiner Seiten wird am Häufigsten auf Seite xy gegangen?"

  • Einstiegsseite: "Auf welche Seiten kommen Besucher von außen häufig?"

  • Linkseiten: "Welche andere Seiten linken mich?"

  • Fehlerhafte Links: "Von welcher Seite kam der Besucher zu dem toten Link?"

Will man den Referer trotz der oben beschriebenen Gegenargumente für weitergehende Zwecke benutzen (z.B. zum Schutz eines Programmdownloades vor direkter Verlinkung), sollte man unbedingt so vorgehen, dass Requests mit fehlendem Referer nicht behindert werden. Der Besucher kann völlig schuldlos an einem fehlenden Referer sein, z.B. wenn er hinter einem Proxy in der Firma sitzt. Daher darf man den Zugriff nur dann abblocken, wenn der Referer vorhanden ist, aber einen nicht erlaubten Wert hat. Bei der umgekehrten Vorgehensweise (Zugriff nur bei Referer von der eigenen Seite) verscherzt man es sich unweigerlich mit einem Teil seiner Besucher.

In PHP hat man über die Variable $_SERVER["HTTP_REFERER"] Zugriff auf den Referer. Die Funktion parse_url() dürfte beim Zerlegen des Strings sehr hilfreich sein, damit man ihn einfacher vergleichen kann.

Man sollte sich aber immer bewusst sein, dass der Referer keine 100%-ige Sache ist. Will (oder muss) man den Zugriff auf bestimmte Ressourcen "wasserdicht" gestalten, führt kein Weg an einer Session-Lösung vorbei.

hosted by
schlund + partner

Valid HTML 4.01! Valid CSS!

12.4. Für welche Zwecke ist der Referer zu gebrauchen?
http://www.dclp-faq.de/q/q-http-referer-nutzen.html
de.comp.lang.php FAQ | (c) Copyright 2000-2003 Das dclp-FAQ-Team