phpbar.de logo

Mailinglisten-Archive

[php] Sessions nicht sicher ?

[php] Sessions nicht sicher ?

Holger Bahr hb_(at)_tsi-gmbh.de
Mon, 14 Aug 2000 15:36:13 +0200


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