Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Session-Management via PHP
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 



 

Konfiguration des Session-Moduls




Das Session-Modul von PHP lässt sich über Optionen innerhalb der Konfigurationsdatei php.ini konfigurieren.

Die wichtigsten dieser Optionen und deren Standardeinstellungen sind in der nachfolgenden Tabelle enthalten:


Option Bedeutung
session.save_handler = files Handle, welches auf das eingesetzte Speichermodul verweist. Bei Standardeinstellung (files) wird das Dateisystem des Servers verwendet. Zusätzliche Einstellungsmöglichkeiten sind: mm (Prozessorspeicher) und user (benutzerdefiniert).
session.save_path = /tmp Werden zum Speichern der Sessiondaten Dateien verwendet, kann deren Pfad angegeben werden.
sessions.use_cookies = 1 Zum Speichern der Session-ID werden standardmässig Cookies verwendet.
session-name = PHPSESSID Name der Session, wird auch als Name des Cookies verwendet.
session.auto_start = 0 Startet das Session-Modul bei jedem Request automatisch.
session.cookie_lifetime = 0 Lebensdauer der Cookies in Sekunden (0 bedeutet bis zum nächsten Browser start).
session.cookie_path = / Pfad, für den das Cookie Gültigkeit besitzt.
session.cookie_domain = Domain, für die das Cookie Gültigkeit besitzt.
session.serialize_handler = php Verweise auf den Serialisierer. Gegenwärtig wird ein internes PHP-Format (php) und WDDX (wddx) unterstützt. WDDX steht nur zur Verfügung, wenn PHP mit WDDX support kompiliert wurde.
session.gc_probability = 1 Wahrscheinlichkeit (0..1), dass die Routine zum Aufräumen (garbage collection) des Speichers bei jeden Session-Start gestartet wird.
session.gc_maxlifetime = 1440 Zeit in Sekunden, nach der alle Sessiondaten zerstört werden.



Session-ID/PHPSESSID

Die Session-ID (PHPSESSID) stellt wohl eines der interessantesten Bestandteile dar. Die sog. Session-ID ist ein zufällig ausgewählter Schlüssel, der die Sessiondaten auf dem Server eindeutig identifiziert. Dieser Schlüssel kann z.B. über Cookies oder als Bestandteil der URL an ein anderes Skript übergeben werden, damit dieses die Sessiondaten auf dem Server wiederfinden kann.


Erzeugen einer eindeutigen Benutzer-ID

Zur Erzeugung einer eindeutigen Benutzer-ID können Sie due Funktion uniqid() einsetzen. Diese erwartet als Argument eine Zeichenfolge, die der ID als Präfix vorangestellt wird.


Beispiel



<?php
echo uniqid("Session");
?>




Ausgabe



Session401804f3d8f96



Sie können natürlich auch andere Zeichenfolgen voranstellen oder darauf verzichten. In diesem Fall ist eine leer String als Argument zu übergeben. Diese ID können Sie dann in Hyperlinks oder versteckten Feldern verwenden.

Eine ID lässt sich auch mit Hilfe eines Zufallszahlengenerators erzeugen. Im Grunde stellt dies jedoch lediglich die Arbeitsweise der Funktion uniqid() dar. Die von der Funktion gelieferte ID basiert auf der aktuellen Zeit in Mikrosekunden. Sie ist damit nur eingeschränkt als "eindeutig" zu bezeichnen.

Es empfiehlt sich daher eine komplexere ID zu bilden, bei der beispielsweise als Argument der uniqid()-Funktion die Zufallszahlenfunktion rand() verwendet wird.


Beispiel



<?php
$u_id 
uniqid ("");
$besser_id uniqid (rand());

echo 
$u_id "<br>";
echo 
$besser_id "<br>";
?>




Ausgabe



401806dc1432f
19439401806dc14352



Wenn sie eindeutige IDs benötigen und beabsichtigen, diese über das Internet an den Anwender weiter zu leiten, beispielsweise als Session-Cookies, ist es ratsam, wie folgt vorzugehen:


<?php
$u_id 
md5 (uniqid (""));
$besser_id md5 (uniqid (rand()));

echo 
$u_id "<br>";
echo 
$besser_id "<br>";
?>




Ausgabe



bf5fce050c14b8bf73aaefd1f87609c8
b31da72fe23ea7f329011da0f4ab4e15



Hierdurch wird eine 32-Zeichen-ID (128 Bit-Hex-Wert) erzeugt, die nur sehr schwer vorhersehbar ist.


 


Session-Management via PHP
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de