Jede Seitenaufruf wird vom Server einzeln bearbeitet. Anschließend wird die http Verbindung beendet. Will man beipspielsweise einen Shop betreiben, ist es ist es jedoch notwendig, dass der Server die einzelnen Anwendungen des Users verfolgen kann. Dazu gibt es verschiedene Techniken. Session Cookies werden nach Ablauf der Session, also Schließen des Browsers gelöscht.
| Versteckte Felder (Client) |
| URL-Parameter (Client) |
| Cookies (Client) |
| Speichern in einer Datei oder einer Datenbank auf dem Server |
| Nutzung der integrierten PHP-Funktionen zur Session-Verwaltung |
| Eigenhändige Programmierung der erforderlichen Funktionen |
| session.auto_start = 0 | Wenn der Wert auf 0 steht, muß auf der Seite die Session Verwaltung starten. |
| session.use_cookies = 1 | ob Cookies benutzt werden |
| session.cookie_lifetime = 0 | wie lange die Cookies nach Schließen des Browsers bestehen, Wert in Sekunden. |
| session.save_path = /tmp | Die Pfadangabe, wo die Session gespeichert wird, auch ein absoluter Pfad ist möglich z.B.: session.save_path=d:/temp |
| register_globals=On | ob globale Variablen als Session Variablen registriert werden können. |
| session_start | Sitzung wird erzeugt |
| session_destroy | Sitzung wird beendet, Sitzungsdaten werden gelöscht |
| session_name | ermittelt oder bestimmt einen Session-Namen. Der Name wird im Cookie gespeichert. |
| session_id | ermittelt oder bestimmt die Session-ID |
| session_save_path | ermittelt oder bestimmt den Pfad, wo die Session-Daten gespeichert werden |
| session_register | Bindet Variablen an eine Sitzung. In diesen Session Variablen können Benutzerdaten etc. der Session auf dem Server gespeichert werden. |
| session_unregister | Hebt die Registrierung der Session Variablen auf |
| session_is_registered | Prüft ob es eine Session Variable gibt |
| session_unset | hebt alle Bindungen von Variablen an eine Sitzung auf |
| session_get_cookie_params | Ermittelt die Parameter eines Cookies |
| session_set_cookie_params | Setzt die Parameter eines Cookies |
Wenn in der in php.ini die Session Verwaltung deaktiviert ist,
session.auto_start=0
muss man diese Aktivierung auf der Seite vornehmen. Das Ganze fügt man dann in folgender Struktur auf die Seite ein. Mittels session_start(); wird die Session Verwaltung gestartet.
|
<?php
|
|
|
2b444bc8ec95dc349080e8dfd666aac9 2;/var/tmp |
<?php echo session_id();<br> echo "<br>" ; echo session_save_path(); ?> |
| Ihr 1. Besuch | <?php |
session_register("Zaehler"); definiert eine Variable die die Anzahl der Besuche speichert, siehe unten
$Zaehler++;
echo "ihr",$Zaehler, ".Besuch";
Die Variable wird in Cookies gespeichert, deswegen muß sowohl in der php.ini als auch im Browser cookies aktiviert sein.
PHP überprüft ob eine Session ID vergeben wurde und überprüft dann, ob eine entsprechende Datei vorliegt, in der gegebenenfalls, die Variablen eingetragen werden. z.B.: Zaehler|i:1; Wenn keine entsprechende Datei vorliegt, wird eine neue angelegt, wobei die Session ID den Dateinamen bestimmt. Es folgt ein Beispiel eines Dateinamens.
sess_51c22bbe361ff0a9d2d16912f13cba30
In der php.ini Datei kann man den Pfad eingeben, wo die Session Dateien gespeichert werden sollen. Nach Änderung muss ein Neustart erfolgen.
session.save_path = d:/temp/phpsession
Mit folgendem kleinen Befehl kann man sich die IP-Adresse eines Users anzeigen lassen. Auch das ist eine Möglichkeit einen User eindeutig zu identifizieren.
| Ihre IP Adresse lautet: 107.22.127.92 | <?php echo "Ihre IP Adresse lautet: "; echo $_SERVER['REMOTE_ADDR']; ?> |
Herkunft des Besuchers und Host kann man auch ermitteln. Dazu folgender Tipp bei webresource