Alle 73 Artikel in
PHP:

Eigenschaften

Preis

Themen

 
Zertifikat Euro-Label Geprüfter Online-Shop - Per Klick Gültigkeit überprüfen
 

Sicher einkaufen

Was passiert bei uns?

Kein Bild vorhanden
 

Zum Download (Pearson)

PDF-Download

Anbieter: Pearson Education Deutschland GmbH (mehr)

 

PHP 5 - Kompendium

 

39,95€

(Preis inkl. Mwst. )

Autor(en): Christian Wenz, Tobias Hauser
Verlag: Markt+Technik
Reihe: Kompendium / Handbuch
Version: 1. Auflage, 2004
Umfang: 1040 Seiten
Format: PDF: 20,2MB
EAN: 9783827262929
Bestell-Nr.: 82726292P
Artikeltyp: E-Book
 

Inhaltsverzeichnis (PDF, 575 Kb)   Leseprobe (PDF, 1120 Kb)   
(aus dem Kapitel zu Sessions)

Fakten, Hintergründe und Konfiguration

Zunächst einige Worte über den aktuellen Ablauf. Bei Verwendung des Session-Managements von PHP ist es wie eingangs erläutert möglich, in einer Sitzung Daten abzuspeichern. Diese werden serialisiert und in einem Datenspeicher abgelegt, meist aus Gründen der Einfachheit im Dateisystem des Webservers. Jede der Sessions hat eine Nummer, einen 32stelligen Hexadezimalwert. Diese Nummer, die so genannte Session-ID, dient als eindeutiger Bezeichner für die Daten der aktuellen Sitzung. Das Problem, Daten zwischen einzelnen Sitzungen zwischenzuspeichern, beschränkt sich also im Client-Server-Modell auf die Übermittlung der Session-ID. Die restliche Datenhaltung findet komplett auf dem Webserver statt und wird von PHP erledigt.

Daten behalten

Für den Entwickler beschränkt sich der Aufwand darauf, PHP und den Webserver korrekt zu konfigurieren und dafür zu sorgen, dass die Session-ID stets zwischen Client und Server hin und her geschickt wird. Dafür gibt es zwei Ansätze:
  • Die Session-ID wird in einem Cookie gespeichert.
  • Die Session-ID wird an alle URLs angehängt.
Auf den ersten Blick wirkt die erste Möglichkeit, der Verwendung von Cookies, absurd - denn genau die Nachteile von Cookies, dass der Benutzer (oder der Administrator) sie deaktivieren kann, soll ja durch Sessions behoben werden. Auf den zweiten Blick jedoch sind Cookies auch beim Session-Management durchaus sinnvoll. Wie die weiteren Ausführungen zeigen werden, hat das Session-Management ohne Cookies auch einige Nachteile. Doch zunächst zur zweiten Möglichkeit. Das Anhängen der Session-ID an alle URLs führt zu Adressen nach dem folgenden Muster:
http://server/skript.php?PHPSESSID=d5dbc3af2d4bbcc445990165c5758005
Wenn Sie nun jeden einzelnen Link auf jeder Seite per PHP so anpassen, dass automatisch die Session-ID angehängt wird, haben Sie Ihr Ziel erreicht: Die Session-ID geht nie verloren, Sie behalten also die zugehörigen Session-Daten. Die Session-ID selbst steht als GET-Parameter zur Verfügung, sollte also auch nicht die Ausgabe des Skripts beeinflussen.
Klingt aufwändig? Ist es auch. PHP wäre aber nicht PHP, wenn es nicht einen praktischen Ausweg geben würde. Es ist möglich, dass automatisch alle Links angepasst werden würden. Dazu bedarf es zweierlei Schritte:
  • Setzen Sie die Option session.use_trans_sid in der php.ini auf den Wert 1.
  • Wenn Sie Unix/Linux einsetzen, konfigurieren Sie PHP mit dem Schalter --enable-trans-sid: ./configure --enable-trans-sid
Unter Windows ist dieser Schritt nicht nötig, die PHP-Distribution ist bereits so kompiliert worden.
Wenn Sie beide Schritte durchgeführt haben, kann an alle Links automatisch die Session-ID angehängt werden. Die Betonung liegt hier auf kann: Die Entscheidung wird in Abhängigkeit der php.ini-Konfigurationseinstellungen session.use_cookies und session.use_only_cookies gefällt. Wenn session.use_only_cookies aktiviert, also auf 1 gesetzt ist, arbeitet das Session-Management von PHP nur mit Cookies. Der Client muss also Cookies unterstützen. Anders sieht es bei session.use_cookies aus. Ist dies auf 0 gesetzt, also ausgeschaltet, werden gar keine Cookies verwendet, die URLs also automatisch um die Session-ID ergänzt. Empfehlenswert ist aber die Aktivierung dieser Option: Dann nämlich versucht PHP, ein Cookie mit der Session-ID zu setzen. Wenn der Client dieses Cookie akzeptiert, wird mit Cookies gearbeitet. Lehnt der Client das Cookie aber ab, schaltet PHP automatisch in den "Session-ID-via-URL"-Modus um.
 

Reduzierte Artikel in dieser Kategorie:

 
 
Drupal
Buchausgabe: 24,95€
Download-Version: 19,80€

(Preis inkl. Mwst.)

PDF-Logo
 
XOOPS
Buchausgabe: 29,95€
Download-Version: 23,80€

(Preis inkl. Mwst.)

PDF-Logo
 

E-Book zum Schnäppchenpreis

Täglich neu Punkt 0:00 Uhr

Hier geht es zum Angebot

Nur 2,99€

Nur heute so günstig!

XMLInfo als RSS-Feed

Anbieter: Pearson Education Deutschland GmbH (mehr)