|
Laufzeit-Konfiguration
Das Verhalten dieser Funktionen wird
durch Einstellungen in der php.ini beeinflusst.
Weitere Details und die Definitionen der
PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.
Das Sessionmanagementsystem unterstützt eine Anzahl von
Konfigurationsoptionen, die Sie in Ihrer php.ini setzen können. Wir geben
Ihnen dazu einen kleinen Überblick.
-
session.save_handler
string
-
session.save_handler definiert den Namen der
Prozedur, die benutzt wird, um die Daten zu speichern und zurückzuholen,
die mit der Session in Verbindung stehen. Grundeinstellung
files. Bitte beachten Sie, dass einzelne
Erweiterungen ihre eigenen save_handler registrieren
können. Welche Prozeduren registriert sind, kann auf Basis der
jeweiligen Installation mit phpinfo() ermittelt
werden. Siehe auch session_set_save_handler().
-
session.save_path
string
-
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.
Siehe auch session_save_path().
Für diese Anweisung gibt es ein optionales Argument N, das die Anzahl
der Verzeichnisebenen bestimmt, über die Ihre Session-Dateien verteilt
werden. Wird sie zum Beispiel auf '5;/tmp' gesetzt,
kann das das Anlegen einer Session-Datei und Speicherstelle wie
/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If
bewirken. Um N verwenden zu können, müssen Sie alle diese Verzeichnisse
vorher anlegen. In ext/session gibt es für diesen
Zweck ein kleines Shell-Script namens mod_files.sh
und eine Version für Windows namens mod_files.bat.
Beachten Sie, dass die automatische 'Müllentsorgung' (garbage
collection) nicht durchgeführt wird, wenn N verwendet wird und größer 0
ist (für weitere Informationen siehe eine Kopie der php.ini). Achten
Sie bei der Verwendung von N außerdem darauf, dass Sie
session.save_path zwischen Anführungsstriche setzen,
weil der Trenner (;) in der php.ini auch für
Kommentare benutzt wird.
Warnung
Wenn Sie ein Verzeichnis gewählt haben, für das jeder Leserechte hat,
wie das z.B. bei /tmp (Grundeinstellung) der Fall
ist, könnten andere Serverbenutzer mit Hilfe der Dateiliste dieses
Verzeichnisses Ihre Sessions entführen.
Hinweis:
Vor PHP 4.3.6 mussten Benutzer von Windows diese Variable ändern, um
die Session-Funktionen von PHP nutzen zu können. Es muss ein gültiger
Pfad, z.B. c:/temp, angegeben werden.
-
session.name
string
-
session.name spezifiziert den Namen der Session, der
als Cookie-Name verwendet wird. Grundeinstellung
PHPSESSID. Siehe auch
session_name().
-
session.auto_start
boolean
-
session.auto_start spezifiziert, ob das Session-Modul
zu Beginn einer Anfrage automatisch eine Session startet.
Grundeinstellung 0 (deaktiviert).
-
session.serialize_handler
string
-
session.serialize_handler definiert den Namen der
Prozedur, die benutzt wird, um Daten zu serialisieren/deserialisieren.
Gegenwärtig werden ein internes PHP-Format (Name php
oder php_binary) und WDDX (name
wddx) unterstützt. WDDX steht nur zur Verfügung, wenn
PHP mit WDDX support kompiliert wurde.
Grundeinstellung php.
-
session.gc_probability
integer
-
session.gc_probability wird in Verbindung mit
session.gc_divisor dazu verwendet, die
Wahrscheinlichkeit zu regeln, mit der die gc (garbage collection)
Routine gestartet wird. Grundeinstellung 1. Siehe
auch session.gc_divisor.
-
session.gc_divisor
integer
-
session.gc_divisor definiert gekoppelt mit
session.gc_probability die Wahrscheinlichkeit, mit
der die gc (garbage collection) Routine bei jeder Initialisierung einer
Session gestartet wird. Die Wahrscheinlichkeit errechnet sich aus
gc_probability/gc_divisor. 1/100 bedeutet z.B., dass die GC-Routine bei
jeder Anfrage mit einer Wahrscheinlichkeit von 1% gestartet wird.
Grundeinstellung 100.
-
session.gc_maxlifetime
integer
-
session.gc_maxlifetime spezifiziert die Anzahl der
Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und
möglicherweise entsorgt werden. Die Speicherbereinigung kann zu Beginn
einer Session durchgeführt werden (abhängig von session.gc_probability und
session.gc_divisor).
Hinweis:
Falls sich der Wert von session.gc_maxlifetime in
verschiedenen Scripts unterscheidet, aber sie die Sessiondaten an der
selben Stelle speichern, löscht das Script mit dem kleinsten Wert die
Daten. Verwenden Sie die Anweisung in diesem Fall zusammen mit der
Anweisung session.save_path.
Hinweis:
Falls Sie die standardmäßige dateibasierte Session-Prozedur verwenden,
muss Ihr Dateisystem die Zugriffszeiten (atime) verfolgen. Windows FAT
tut dies nicht. Sie müssen sich daher einen anderen Weg einfallen
lassen, um die 'Müllentsorgung' Ihrer Session zu erledigen, wenn Sie an
ein FAT-Dateisystem gebunden sind oder an irgendein anderes
Dateisystem, das keine atime-Kontrolle bietet. Seit PHP 4.2.3 wird
mtime (modified date) anstatt atime verwendet. Sie werden also keine
Problem mit Dateisystemen haben, bei denen atime nicht zur Verfügung
steht.
-
session.referer_check
string
-
session.referer_check enthält die Zeichenkette, auf
die Sie jeden HTTP-Referer überprüfen wollen. Wenn der Referer vom
Client gesendet und die Zeichenkette nicht gefunden wurde, wird die
eingebettete Session-ID als ungültig gekennzeichnet. Grundeinstellung
ist eine leere Zeichenkette.
-
session.entropy_file
string
-
session.entropy_file gibt den Pfad zu einer externen
Quelle (Datei) an, die bei der Erzeugung einer Session-ID als
zusätzliche Entropiequelle verwendet wird. Beispiele sind
/dev/random oder /dev/urandom, die
auf vielen Unix-Systemen zur Verfügung stehen.
Diese Einstellung wird unter Windows seit PHP 5.3.3 unterstützt. Wenn
session.entropy_length auf einen von Null
verschiedenen Wert gesetzt wird, verwendet PHP die Windows Zufalls-API
als Entropie-Quelle.
-
session.entropy_length
integer
-
session.entropy_length spezifiziert die Anzahl der
Bytes, die von der oben spezifizierten Datei gelesen werden.
Grundeinstellung 0 (deaktiviert).
-
session.use_cookies
boolean
-
session.use_cookies spezifiziert, ob das Modul
Cookies verwendet, um die Session-ID clientseitig zu speichern.
Grundeinstellung 1 (aktiviert).
-
session.use_only_cookies
boolean
-
session.use_only_cookies spezifiziert, ob das Modul
nur Cookies verwendet, um die
Session-ID clientseitig zu speichern. Mit Aktivierung dieser Einstellung
wird möglichen Angriffen durch Übermittlung von Session-IDs in URLs
vorgebeugt. Diese Einstellung wurde in PHP 4.3.0 hinzugefügt. Ab PHP
5.3.0 ist die Grundeinstellung 1 (aktiviert).
-
session.cookie_lifetime
integer
-
session.cookie_lifetime spezifiziert die
Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der
Wert 0 bedeutet "bis der Browser geschlossen wird." Grundeinstellung
0. Siehe auch
session_get_cookie_params() und
session_set_cookie_params().
Hinweis:
Der Verfalls-Zeitstempel wird relativ zur Serverzeit gesetzt, die nicht
unbedingt mit der Browserzeit des Clients übereinstimmt.
-
session.cookie_path
string
-
session.cookie_path spezifiziert den Pfad, der im
Session-Cookie gesetzt wird. Grundeinstellung /.
Siehe auch session_get_cookie_params() und
session_set_cookie_params().
-
session.cookie_domain
string
-
session.cookie_domain spezifiziert die Domain, die im
Session-Cookie gesetzt wird. In der Grundeinstellung überhaupt keine,
was bedeutet, dass entsprechend der Spezifikation für Cookies der
Hostname des Servers verwendet wird, der das Cookie erzeugt hat. Siehe
auch session_get_cookie_params() und
session_set_cookie_params().
-
session.cookie_secure
boolean
-
session.cookie_secure spezifiziert, ob Cookies nur
über sichere Verbindungen geschickt werden sollen. Grundeinstellung
off. Diese Einstellung wurde in PHP 4.0.4
hinzugefügt. Siehe auch session_get_cookie_params()
und session_set_cookie_params().
-
session.cookie_httponly
boolean
-
session.cookie_httponly markiert das Cookie als nur
über das HTTP-Protokoll zugänglich. Das bedeutet, dass für
Skriptsprachen wie z.B. JavaScript nicht zugänglich ist. Diese
Einstellung kann helfen, Identitätsdiebstahl durch XSS-Angriffe zu
reduzieren (obwohl es nicht von allen Browsern unterstützt wird).
-
session.cache_limiter
string
-
session.cache_limiter spezifiziert die Methode der
Cacheverwaltung, die bei Session-Seiten benutzt wird. Das kann einer der
folgenden Werte sein: nocache,
private, private_no_expire oder
public. Grundeinstellung nocache.
Informationen über die Bedeutung dieser Werte finden Sie in der
session_cache_limiter()-Dokumentation.
-
session.cache_expire
integer
-
session.cache_expire spezifiziert in Minuten, wie
lange Session-Seiten im Cache bleiben. Bei nocache ist diese Angabe
wirkungslos. Grundeinstellung 180. Siehe auch
session_cache_expire().
-
session.use_trans_sid
boolean
-
session.use_trans_sid bestimmt ob transparente
SID-Unterstützung aktiviert ist oder nicht. Grundeinstellung
0 (deaktiviert).
Hinweis:
In PHP 4.1.2 oder darunter wird sie durch compilieren mit
--enable-trans-sid 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.
-
session.bug_compat_42
boolean
-
Die PHP-Versionen bis 4.2.3 haben eine undokumentierte Funktion/einen
undokumentierten Fehler, der es Ihnen gestattet, eine Session-Variable
im globalen Bereich zu initialisieren, obwohl register_globals deaktiviert ist.
Ab Version 4.3.0 gibt PHP bei Verwendung dieser Funktion eine Warnung
aus, wenn zusätzlich session.bug_compat_warn
aktiviert ist. Diese Funktion/dieser Fehler kann durch Deaktivieren
dieser Einstellung deaktiviert werden.
-
session.bug_compat_warn
boolean
-
Die PHP-Versionen bis 4.2.3 haben eine undokumentierte Funktion/einen
undokumentierten Fehler, der es Ihnen gestattet, eine Session-Variable
im globalen Bereich zu initialisieren, obwohl register_globals deaktiviert ist.
Ab Version 4.3.0 gibt PHP bei Verwendung dieser Funktion eine Warnung
aus, wenn sowohl session.bug_compat_42 als
auch session.bug_compat_warn
aktiviert sind.
-
session.hash_function
mixed
-
session.hash_function gibt Ihnen die Möglichkeit, den
Prüfsummen-Algorithmus für die Erzeugung von Session-IDs selbst zu
bestimmen. '0' bedeutet MD5 (128 Bit) und '1' bedeutet SHA-1 (160 Bit).
Ab PHP 5.3.0 ist es auch möglich, einen der Algorithmen zu bestimmen,
die durch die Hash-Erweiterung (falls
vorhanden) zur Verfügung stehen, wie z.B. sha512 oder
whirlpool. Eine vollständige Liste unterstützter
Algorithmen erhalten Sie mit der Funktion
hash_algos().
Hinweis:
Diese Einstellung wurde in PHP 5 eingeführt.
-
session.hash_bits_per_character
integer
-
session.hash_bits_per_character gibt Ihnen die
Möglichkeit, zu definieren wieviele Bit bei der Umwandlung der binären
Prüfsummen-Daten in etwas Lesbares in jedem Zeichen gespeichert werden.
Mögliche Werte sind '4' (0-9, a-f), '5' (0-9, a-v) und '6' (0-9, a-z,
A-Z, "-", ",").
Hinweis:
Dies wurde in PHP 5 eingeführt.
-
url_rewriter.tags
string
-
url_rewriter.tags bestimmt, wenn Unterstützung für
transparente SID aktiviert ist, welche HTML-Tags so umgeschrieben
werden, dass sie die Session-ID beinhalten. Grundeinstellung
a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=
Hinweis:
Wenn Sie HTML/XHTML strict-Konformität wollen, müssen Sie den
form-Eintrag entfernen und Ihre Formularfelder
zwischen <fieldset>-Tags setzen.
-
session.upload_progress.enabled
boolean
-
Schlatet Upload-Fortschritt Überwachung ein und befüllt $_SESSION mit den
entsprechenden Werten. Standardmäßig 1 (aktiviert).
-
session.upload_progress.cleanup
boolean
-
Ob die Fortschritts-Information entfernt werden soll, sobald alle POST Daten
erhalten wurden (also der Upload abgeschlossen ist). Standardmäßig 1 (aktiviert).
Hinweis:
Es wird dringend empfohlen diese Option aktiviert zu lassen.
-
session.upload_progress.prefix
string
-
Präfix für den Namen des Schlüssels im $_SESSION Array.
Dieser wird mit dem Wert von $_POST[ini_get("session.upload_progress.name")]
konkateniert, um einen eindeutigen Schlüssel zu erhalten.
provide a unique index.
Standardwert ist "upload_progress_".
-
session.upload_progress.name
string
-
Der Name des Schlüssels im $_SESSION Array, in welchem Fortschritts-Informationen
gespeichert werden sollen. Siehe auch
session.upload_progress.prefix.
Wenn $_POST[ini_get("session.upload_progress.name")]
nicht übergeben wird oder nicht verfügbar ist, wird kein Upload-Fortschritt aufgezeichnet.
Standardwert ist "PHP_SESSION_UPLOAD_PROGRESS".
-
session.upload_progress.freq
mixed
-
Wie oft die Fortschritts-Information aktualisiert werden soll. Dieser Wert kann
entweder in Bytes (d.h. Aktualisierung nachdem eine bestimmte Anzahl an Bytes empfangen wurde)
oder in Prozent (d.h. Aktualisierung nachdem eine bestimmte Prozentzahl der gesamten Dateigröße
empfangen wurde) angegeben werden.
Standardwert ist "1%".
-
session.upload_progress.min-freq
integer
-
Anzahl in Sekunden, die mindestens zwischen zwei Aktualisierungen vergehen müssen.
Standardwert ist "1" (eine Sekunde).
Die Konfigurationseinstellungen von track_vars und register_globals
beeinflussen, wie die Session-Variablen gespeichert und wiederhergestellt
werden.
Upload-Fortschritt wird nur aufgezeichnet, wenn
session.upload_progress.enabled aktiviert ist und die
$_POST[ini_get("session.upload_progress.name")] Variable gesetzt ist.
Siehe Session Upload Progress
für weitere Informationen diesbezüglich.
Hinweis:
Seit PHP 4.0.3 ist track_vars immer
aktiviert.
|