phpbar.de logo

Mailinglisten-Archive

[php] Cookies erzwingen?!

[php] Cookies erzwingen?!

Gloss Mathias Mathias.Gloss at start.de
Don Sep 25 15:10:56 CEST 2003


Aloha,

>   gibt es irgendeine Möglichkeit, ohne Zugriff auf die PHP.ini zu
>   verhindern, dass die SID über die URL weitergegeben wird? Es soll
>   also der Gebrauch von Cookies erzwungen werden. Ohne Kekse soll es
>   schlicht und ergreifend nicht weitergehen, weil SID in der URL in
>   diesem Fall indiskutabel ist.
> 
http://de.php.net/session

--> Konfiguration

session.use_cookies boolean <language.types.boolean.php> 
	session.use_cookies spezifiziert, ob das Modul Cookies verwendet, um
die Session-ID clientseitig zu speichern. Grundeinstellung 1 (aktiviert). 


session.use_trans_sid boolean <language.types.boolean.php> 
	session.use_trans_sid bestimmt ob transparente SID-Unterstützung
aktiviert ist oder nicht. Grundeinstellung 0 (deaktiviert). 
		Anmerkung: In PHP 4.1.2 oder darunter wird sie durch
compilieren mit --enable-trans-sid <install.configure.php> aktiviert. Ab PHP
4.2.0 ist das Feature trans-sid immer eincompiliert. 
		URL-basiertes Session-Management hat im Vergleich zu
Cookie-basiertem Session-Management zusätzliche Sicherheitsrisiken. Benutzer
können zum Beispiel eine URL, die eine aktive Session-ID enthält, per Email
an Freunde schicken oder in ihren Bookmarks speichern und immer mit der
selben Session-ID auf Ihre Seite zugreifen.


>   Ich hatte daran gedacht, den Session.save_path zu verbiegen und die
>   Fehler abzufangen. Ginge das? Oder habt ihr eine bessere Idee?
> 
session.save_path string <language.types.string.php> 
	session.save_path definiert das Argument, das an die
Speicherprozedur übergeben wird. Wenn Sie die standardmäßige files Prozedur
wählen, ist das der Pfad, unter dem die Dateien erzeugt werden.

Was hat das mit der Umschreibung von URLs oder mit der 
Benutzung von Cookies zu tun?

Du musst halt in der php.ini bzw. über .htaccess 
session.use_cookies = false
session.use_trans_sid = true

einstellen. Dann halt noch schauen, ob $_COOKIE['PHPSESSID']
eine Session ID enthält (wenn nicht, verwendet der Anwender nämlich
keine Cookies.


Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive