Mailinglisten-Archive |
Tip:
am Anfang einer jeden (Session-)Page eine Datei includen, die ungefähr
folgende Funktionalität besitzt:
<?
if ((substr("$HTTP_REFERER", 0, 22) != "http://aaa.aaa.aaa.aa/" //
IP / URI des Hosts der Applikation
// falls über mehrere Maschinen verteilt gearbeitet wird oder so
// einfach die weiteren gültigen URIs/IP´s angeben:
|| substr("$HTTP_REFERER", 0, 22) !=
"http://www.xyz.at/") // "möglicher Server" Nummer 2
|| substr("$HTTP_REFERER", 0, 22) !=
"http://gct.dhj.de.de/") // "möglicher Server" Nummer 3
|| substr("$HTTP_REFERER", 0, 22) !=
"http://sks.d.ddd.d/") // "möglicher Server" Nummer 4 (usw.)
&& (isset($phpSessionID) == true))
{ // versucht jemand, über eine
in der URL angegebenen Session ID,
// direkt auf Content
zuzugreifen, welcher eine
// Anmeldung (valid Session)
erfordert ?
header ("Location: http://disney.go.com/"); // für solche Spielkinder
gibt´s hier den Gratis-Trip ins Disneyland ..
break;
}
?>
danach normal weitermachen ... ("vernünftige" Session Lifetime .. etc.pp)
Leute mit Opera 3 oder ähnlichen Browsern (bei jenen man die Übergabe des
Referers von Seiten des Browsers ab/aus -schalten kann), müssen dann halt
die Übergabe des Referers aktivieren
(Info auf der Folgeseite der Startseite :
"Bitte Refererfunktionalität jetzt wieder einschalten und dann hier
<a>xxx</a> klicken"
Default - mässig ist der Referer aktiv d.h. er wird übergeben und falls den
jemand abschaltet, weiss
diese Person sicherlich, wo man den wieder einschaltet. Bei den gängigen
Mainstream Browsern,
stellt sich diese Frage ohnehin nicht).
Cheers,
Holger
php::bar PHP Wiki - Listenarchive