Arbeiten mit Sessions

Vorwort

In diesem Tutorial werde ich erklären was Sessions sind, wozu sie benutzt werden können und wie man in PHP mit ihnen arbeitet.

Am Ende erstellen wir ein einfaches Loginsystem, um das Ganze an einem kleinen Praxisbeispiel auszuprobieren.

Kapitelübersicht

  1. Was sind Sessions
  2. Verarbeitung von Daten in einer Session
  3. Beispiel: Zählen von Seitenaufrufen
  4. Ein kleines Loginsystem
  5. Weitere PHP Funktionen für Sessions
  6. Session-ID in der URL und die Folgen
  7. Schlusswort

1. Was sind Sessions?

Durch Sessions in PHP ist es möglich einen Besucher der Webseite über mehrere Seitenaufrufe hinweg eindeutig zu identifizieren. Das beste Beispiel hierfür wäre wohl ein Loginsystem. Der Besucher meldet sich zuerst mit seinen Daten auf der Webseite an und wird auch im weiteren Verlauf des Seitenbesuchs als eingeloggter Nutzer wiedererkannt.

Um dies zu realisieren wird vom Server beim ersten Aufruf der Webseite eine zufällige Session-ID für den neuen Besucher erzeugt und an den Browser mitgeschickt. In den meisten Fällen wird die Session-ID des Besuchers in dessen Browser als Cookie abgespeichert, dem sogenannten Sitzungscookie. Ruft der Besucher nun erneut eine Seite vom Server ab, so schickt der Browser die Session-ID bei der Anfrage im Header mit und der Server kann den Besucher “wiedererkennen”.

Der Sitzungscookie bleibt für den Verlauf der Sitzung gültig und wird vom Browser gelöscht, wenn dieser geschlossen wird.

Alternativ zum Cookie besteht auch die Möglichkeit die Session-ID direkt an URLs anzuhängen und so dem Server beim Aufruf zu übermitteln, dies stellt jedoch ein gewisses Sicherheitsrisiko da. Genauere Informationen dazu folgen später in Kapitel 6: Session-ID in der URL und die Folgen.

Zusammen mit der Session-ID können nun beliebige Informationen auf dem Server gespeichert werden und sind so mit dem Besucher verknüpft. Um die Verwaltung dieser Daten kümmert sich der Server automatisch, es ist also nicht nötig selbst eine Datei oder Datenbank anzulegen.

» weiter

2 Kommentare

  1. foobar sagt:

    Bei deinem ersten ini_set (auf Seite 6) hast du ein Leerzeichen und eine 0 zu viel im Namen.

    Zu den Einstellungen in der .htaccess auf Seite 6 sagt mir ein Blick in die Dokumentation von PHP:
    „Hinweis: Verwenden Sie php_value nicht, um boolesche Werte zu setzen. php_flag (siehe unten) sollte stattdessen verwendet werden.“

    Quelle: http://de3.php.net/php_value

Einen Kommentar hinterlassen