1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
Martin Samesch 05941b13bf Sync with EN
2025-05-03 21:20:43 +02:00

1041 lines
40 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7f1b75ed358430c1db0e37c832d2926735d5f5c2 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<section xml:id="session.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Session-Konfigurationsoptionen</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="session.configuration.list">
<row>
<entry><link linkend="ini.session.save-path">session.save_path</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.name">session.name</link></entry>
<entry>"PHPSESSID"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.save-handler">session.save_handler</link></entry>
<entry>"files"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.auto-start">session.auto_start</link></entry>
<entry>"0"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.gc-probability">session.gc_probability</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.gc-divisor">session.gc_divisor</link></entry>
<entry>"100"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.gc-maxlifetime">session.gc_maxlifetime</link></entry>
<entry>"1440"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.serialize-handler">session.serialize_handler</link></entry>
<entry>"php"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-lifetime">session.cookie_lifetime</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-path">session.cookie_path</link></entry>
<entry>"/"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-domain">session.cookie_domain</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-secure">session.cookie_secure</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Vor PHP 7.2.0 war die Grundeinstellung <literal>""</literal>.</entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-httponly">session.cookie_httponly</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Vor PHP 7.2.0 war die Grundeinstellung <literal>""</literal>.</entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-samesite">session.cookie_samesite</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.use-strict-mode">session.use_strict_mode</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.use-cookies">session.use_cookies</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.use-only-cookies">session.use_only_cookies</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.referer-check">session.referer_check</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cache-limiter">session.cache_limiter</link></entry>
<entry>"nocache"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cache-expire">session.cache_expire</link></entry>
<entry>"180"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.use-trans-sid">session.use_trans_sid</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.trans-sid-tags">session.trans_sid_tags</link></entry>
<entry>"a=href,area=href,frame=src,form="</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.trans-sid-hosts">session.trans_sid_hosts</link></entry>
<entry><literal>$_SERVER['HTTP_HOST']</literal></entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.sid-length">session.sid_length</link></entry>
<entry>"32"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.1.0. Seit PHP 8.4.0 veraltet.</entry>
</row>
<row>
<entry><link linkend="ini.session.sid-bits-per-character">session.sid_bits_per_character</link></entry>
<entry>"4"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.1.0. Seit PHP 8.4.0 veraltet.</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.enabled">session.upload_progress.enabled</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.cleanup">session.upload_progress.cleanup</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link></entry>
<entry>"upload_progress_"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.name">session.upload_progress.name</link></entry>
<entry>"PHP_SESSION_UPLOAD_PROGRESS"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.freq">session.upload_progress.freq</link></entry>
<entry>"1%"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.min-freq">session.upload_progress.min_freq</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.lazy-write">session.lazy_write</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.hash-function">session.hash_function</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Entfernt in PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link></entry>
<entry>"4"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Entfernt in PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.entropy-file">session.entropy_file</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Entfernt in PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.session.entropy-length">session.entropy_length</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Entfernt in PHP 7.1.0.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
<para>
Das Session-Verwaltungssystem unterstützt eine Anzahl von
Konfigurationsoptionen, die in der &php.ini; gesetzt werden können. Wir
geben dazu einen kleinen Überblick.
<variablelist>
<varlistentry xml:id="ini.session.save-handler">
<term>
<parameter>session.save_handler</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.save_handler</literal> definiert den Namen der Routine,
die verwendet wird, um die Daten zu speichern und abzurufen, die mit der
Session in Verbindung stehen. Grundeinstellung <literal>files</literal>.
Zu beachten ist, dass einzelne Erweiterungen ihre eigenen
<literal>save_handler</literal> registrieren können. Welche Routinen
registriert sind, kann auf Basis der jeweiligen Installation mit
<function>phpinfo</function> ermittelt werden. Siehe auch
<function>session_set_save_handler</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.save-path">
<term>
<parameter>session.save_path</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.save_path</literal> definiert das Argument, das an die
Speicherroutine übergeben wird. Wenn die standardmäßige files-Routine
gewählt wird, ist das der Pfad, unter dem die Dateien erzeugt werden.
Siehe auch <function>session_save_path</function>.
</simpara>
<para>
Für diese Anweisung gibt es ein optionales Argument
<literal>N</literal>, das die Anzahl der Verzeichnisebenen bestimmt,
über welche die Session-Dateien verteilt werden. Wird sie zum Beispiel
auf <literal>'5;/tmp'</literal> gesetzt, kann das das Anlegen einer
Session-Datei und -Speicherstelle wie
<literal>/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If</literal>
bewirken. Um <literal>N</literal> verwenden zu können, müssen alle diese
Verzeichnisse vorher angelegt werden. In
<filename>ext/session</filename> gibt es für diesen Zweck ein kleines
Shell-Skript namens <filename>mod_files.sh</filename> und eine Version
für Windows namens <filename>mod_files.bat</filename>. Zu beachten ist,
dass die automatische Speicherbereinigung (Garbage Collection) nicht
durchgeführt wird, wenn <literal>N</literal> verwendet wird und größer 0
ist (für weitere Informationen siehe eine Kopie der &php.ini;). Außerdem
muss bei der Verwendung von <literal>N</literal> beachtet werden, dass
<literal>session.save_path</literal> zwischen Anführungsstriche gesetzt
wird, weil der Trenner (<literal>;</literal>) in der &php.ini; auch für
Kommentare verwendet wird.
</para>
<para>
Standardmäßig erzeugt die files-Speicherroutine Dateien mit dem Modus
600. Dieser Wert kann mit dem optionalen Argument
<literal>MODE</literal> geändert werden:
<literal>N;MODE;/pfad</literal>, wobei <literal>MODE</literal> die
oktale Darstellung des Modus ist. Die Angabe von <literal>MODE</literal>
hat keine Auswirkungen auf den Prozess umask.
</para>
<warning>
<para>
Wenn ein Verzeichnis gewählt wurde, für das jeder Leserechte hat, wie
das &zb; bei <filename>/tmp</filename> (Grundeinstellung) der Fall
ist, könnten andere Serverbenutzer mit Hilfe der Dateiliste dieses
Verzeichnisses die Sessions entführen.
</para>
</warning>
<caution>
<para>
Wird das oben beschriebene optionale Argument <literal>N</literal> für
die Verzeichnisebenen verwendet, ist zu beachten, dass ein Wert größer
als 1 oder 2 wegen der großen Anzahl an benötigten Verzeichnissen für
die meisten Websites unangemessen ist: &zb; bedeutet ein Wert von 3,
dass <literal>(2 ** session.sid_bits_per_character) ** 3</literal>
Verzeichnisse im Dateisystem existieren, was eine große Verschwendung
an Speicher und Inodes zur Folge haben kann.
</para>
<para>
<literal>N</literal> größer als 2 sollte nur verwendet werden, wenn die
Website wirklich so groß ist, dass dies erforderlich ist.
</para>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.name">
<term>
<parameter>session.name</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.name</literal> definiert den Namen der Session, der als
Cookie-Name verwendet wird. Grundeinstellung
<literal>PHPSESSID</literal>. Siehe auch
<function>session_name</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.auto-start">
<term>
<parameter>session.auto_start</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.auto_start</literal> definiert, ob das Session-Modul zu
Beginn einer Anfrage automatisch eine Session startet. Grundeinstellung
<literal>0</literal> (deaktiviert).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.serialize-handler">
<term>
<parameter>session.serialize_handler</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.serialize_handler</literal> definiert den Namen der
Routine, die verwendet wird, um Daten zu serialisieren/deserialisieren.
Unterstützt werden das PHP-Serialisierungsformat (Name
<literal>php_serialize</literal>), die internen PHP-Formate (Namen
<literal>php</literal> und <literal>php_binary</literal>) und WDDX (Name
<literal>wddx</literal>). WDDX steht nur zur Verfügung, wenn PHP mit
<link linkend="ref.wddx">WDDX</link>-Unterstützung kompiliert wurde.
<literal>php_serialize</literal> verwendet intern die einfachen
serialize/unserialize-Funktionen und hat nicht die Einschränkungen, die
<literal>php</literal> und <literal>php_binary</literal> haben. Ältere
Serialisierungsroutinen können weder numerische Indizes noch
alphanumerische Indizes, die Sonderzeichen (<literal>|</literal> und
<literal>!</literal>) enthalten, in $_SESSION speichern. Um am Ende des
Skripts Fehler wegen solcher Indizes zu vermeiden, sollte
<literal>php_serialize</literal> verwendet werden. Grundeinstellung
<literal>php</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-probability">
<term>
<parameter>session.gc_probability</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.gc_probability</literal> wird in Verbindung mit
<literal>session.gc_divisor</literal> dazu verwendet, die
Wahrscheinlichkeit zu regeln, mit der die gc-Routine (gc=garbage
collection, Speicherbereinigung) gestartet wird. Grundeinstellung
<literal>1</literal>. Muss größer oder gleich <literal>0</literal> sein.
Siehe auch
<link linkend="ini.session.gc-divisor">session.gc_divisor</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-divisor">
<term>
<parameter>session.gc_divisor</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.gc_divisor</literal> definiert gekoppelt mit
<literal>session.gc_probability</literal> die Wahrscheinlichkeit, mit
der die gc-Routine (gc=garbage collection, Speicherbereinigung) bei
jeder Initialisierung einer Session gestartet wird. Die
Wahrscheinlichkeit errechnet sich aus gc_probability/gc_divisor. 1/100
bedeutet &zb;, dass die gc-Routine bei jeder Anfrage mit einer
Wahrscheinlichkeit von 1% gestartet wird. Grundeinstellung
<literal>100</literal>. Muss größer <literal>0</literal> sein.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-maxlifetime">
<term>
<parameter>session.gc_maxlifetime</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.gc_maxlifetime</literal> definiert 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
<link linkend="ini.session.gc-probability">session.gc_probability</link>
und <link linkend="ini.session.gc-divisor">session.gc_divisor</link>).
Die Grundeinstellung ist <literal>1440</literal> (24 Minuten).
</simpara>
<note>
<simpara>
Falls sich der Wert von <literal>session.gc_maxlifetime</literal> in
verschiedenen Skripten unterscheidet, aber sie die Session-Daten an der
selben Stelle speichern, löscht das Skript mit dem kleinsten Wert die
Daten. In diesem Fall sollte die Anweisung zusammen mit der Anweisung
<link linkend="ini.session.save-path">session.save_path</link>
verwendet werden.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.referer-check">
<term>
<parameter>session.referer_check</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.referer_check</literal> enthält die Zeichenkette, auf
die jeder HTTP-Referer überprüft werden soll. Wenn der Referer vom
Client gesendet wurde und die Zeichenkette nicht gefunden wurde, wird
die eingebettete Session-ID als ungültig gekennzeichnet.
Grundeinstellung ist eine leere Zeichenkette.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.entropy-file">
<term>
<parameter>session.entropy_file</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.entropy_file</literal> gibt den Pfad zu einer externen
Quelle (Datei) an, die bei der Erzeugung einer Session-ID als
zusätzliche Entropiequelle verwendet wird. Beispiele sind
<literal>/dev/random</literal> oder <literal>/dev/urandom</literal>, die
auf vielen Unix-Systemen zur Verfügung stehen.
</simpara>
<simpara>
Diese Einstellung wird unter Windows unterstützt. Wenn
<literal>session.entropy_length</literal> auf einen von Null
verschiedenen Wert gesetzt wird, verwendet PHP die Windows-Zufalls-API
als Entropie-Quelle.
</simpara>
<note>
<simpara>
Entfernt in PHP 7.1.0.
</simpara>
<simpara>
Die Grundeinstellung für <literal>session.entropy_file</literal> ist
<literal>/dev/urandom</literal> oder <literal>/dev/arandom</literal>,
falls es verfügbar ist.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.entropy-length">
<term>
<parameter>session.entropy_length</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.entropy_length</literal> definiert die Anzahl der
Bytes, die von der oben spezifizierten Datei gelesen werden.
Grundeinstellung <literal>32</literal> (deaktiviert).
</simpara>
<simpara>
Entfernt in PHP 7.1.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-strict-mode">
<term>
<parameter>session.use_strict_mode</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.use_strict_mode</literal> definiert ob das Modul den
strikten Modus für die Session-ID verwendet. Wenn dieser Modus aktiviert
ist, akzeptiert das Modul keine Session-ID, die nicht initialisiert ist.
Falls ein Browser eine uninitialisierte Session-ID sendet, wird eine
neue Session-ID zum Browser gesendet. Im strikten Modus sind Anwendungen
vor der Übernahme der Session durch Session-Fixation geschützt.
Grundeinstellung <literal>0</literal> (deaktiviert).
</simpara>
<note>
<simpara>
Das Aktivieren von <literal>session.use_strict_mode</literal> ist für
grundsätzliche Session-Sicherheit verpflichtend. Es wird empfohlen,
dass alle Sites dies aktiveren. Verdeutlichender Beispielcode kann der
Dokumentation von <function>session_create_id</function> entnommen
werden.
</simpara>
</note>
<warning>
<para>
Wenn eine benutzerdefinierte Session-Routine, die per
<function>session_set_save_handler</function> registriert wurde, weder
<methodname>SessionUpdateTimestampHandlerInterface::validateId</methodname>
implementiert, noch einen <parameter>validate_sid</parameter>-Callback
übergibt, ist der strikte Session-ID-Modus praktisch deaktiviert,
unabhängig vom Wert dieser Anweisung. Im Besonderen ist zu beachten,
dass <classname>SessionHandler</classname>
<methodname>SessionHandler::validateId</methodname>
<emphasis>nicht</emphasis> implementiert.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-cookies">
<term>
<parameter>session.use_cookies</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.use_cookies</literal> definiert, ob das Modul Cookies
verwendet, um die Session-ID clientseitig zu speichern. Grundeinstellung
<literal>1</literal> (aktiviert).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-only-cookies">
<term>
<parameter>session.use_only_cookies</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.use_only_cookies</literal> definiert, ob das Modul
<emphasis role="strong">nur</emphasis> Cookies verwendet, um die
Session-ID clientseitig zu speichern. Durch die Aktivierung dieser
Einstellung werden Angriffe verhindert, die darauf basieren, dass
Session-IDs in URLs weitergegeben werden. Grundeinstellung
<literal>1</literal> (aktiviert).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-lifetime">
<term>
<parameter>session.cookie_lifetime</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_lifetime</literal> definiert die
Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der
Wert 0 bedeutet "bis der Browser geschlossen wird." Grundeinstellung
<literal>0</literal>. Siehe auch
<function>session_get_cookie_params</function> und
<function>session_set_cookie_params</function>.
</simpara>
<note>
<simpara>
Der Verfalls-Zeitstempel wird relativ zur Serverzeit gesetzt, die nicht
unbedingt mit der Browserzeit des Clients übereinstimmt.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-path">
<term>
<parameter>session.cookie_path</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_path</literal> definiert den Pfad, der im
Session-Cookie gesetzt wird. Grundeinstellung <literal>/</literal>.
Siehe auch <function>session_get_cookie_params</function> und
<function>session_set_cookie_params</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-domain">
<term>
<parameter>session.cookie_domain</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_domain</literal> definiert 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 <function>session_get_cookie_params</function> und
<function>session_set_cookie_params</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-secure">
<term>
<parameter>session.cookie_secure</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_secure</literal> definiert, ob Cookies nur über
sichere Verbindungen geschickt werden sollen. Wenn diese Option auf
<literal>on</literal> gesetzt ist, funktionieren Sessions nur mit
HTTPS-Verbindungen. Ist sie auf <literal>off</literal> gesetzt,
funktionieren Sessions sowohl mit HTTP- als auch mit HTTPS-Verbindungen.
Grundeinstellung <literal>off</literal>. Siehe auch
<function>session_get_cookie_params</function> und
<function>session_set_cookie_params</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-httponly">
<term>
<parameter>session.cookie_httponly</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_httponly</literal> markiert das Cookie als nur
über das HTTP-Protokoll zugänglich. Das bedeutet, dass Skriptsprachen
wie JavaScript nicht auf das Cookie zugreifen können. Diese Einstellung
kann helfen, Identitätsdiebstahl durch XSS-Angriffe zu reduzieren
(allerdings wird sie nicht von allen Browsern unterstützt).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-samesite">
<term>
<parameter>session.cookie_samesite</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Erlaubt es Servern, zu bestätigen, dass ein Cookie nicht mit
seitenübergreifenden Anfragen gesendet werden sollte. Diese Bestätigung
ermöglicht es User-Agents die Gefahr von herkunftsübergreifenden
Informationslecks zu lindern und bietet etwas Schutz gegen
Fälschungsangriffe auf seitenübergreifende Anfragen (Cross-Site Request
Forgery Attacks). Es ist zu beachten, dass dies nicht von allen Browsern
unterstützt wird. Ein leerer Wert bedeutet, dass kein
SameSite-Cookie-Attribut gesetzt wird. <literal>Lax</literal> und
<literal>Strict</literal> bedeuten, dass das Cookie bei POST-Anfragen
nicht domainübergreifend gesendet wird; <literal>Lax</literal> sendet
das Cookie für domainübergreifende GET-Anfragen, während
<literal>Strict</literal> das nicht tut.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cache-limiter">
<term>
<parameter>session.cache_limiter</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cache_limiter</literal> definiert die Methode der
Cacheverwaltung, die bei Session-Seiten verwendet wird. Das kann einer der
folgenden Werte sein: <literal>nocache</literal>,
<literal>private</literal>, <literal>private_no_expire</literal> oder
<literal>public</literal>. Grundeinstellung <literal>nocache</literal>.
Informationen über die Bedeutung dieser Werte sind in der
<function>session_cache_limiter</function>-Dokumentation zu finden.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cache-expire">
<term>
<parameter>session.cache_expire</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.cache_expire</literal> definiert in Minuten, wie lange
Session-Seiten im Cache bleiben. Bei nocache ist diese Angabe
wirkungslos. Grundeinstellung <literal>180</literal>. Siehe auch
<function>session_cache_expire</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-trans-sid">
<term>
<parameter>session.use_trans_sid</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
<literal>session.use_trans_sid</literal> bestimmt ob transparente
SID-Unterstützung aktiviert ist oder nicht. Grundeinstellung
<literal>0</literal> (deaktiviert).
</simpara>
<note>
<simpara>
Die URL-basierte Session-Verwaltung hat im Vergleich zur Cookie-basierten
Session-Verwaltung zusätzliche Sicherheitsrisiken. Benutzer können zum
Beispiel eine URL, die eine aktive Session-ID enthält, per E-Mail an
Freunde schicken oder in ihren Bookmarks speichern und immer mit der
selben Session-ID auf die Seite zugreifen.
</simpara>
<simpara>
Seit PHP 7.1.0 werden auch vollständige URL-Pfade, &zb;
https://php.net/, vom trans-sid-Feature unterstützt. Vorherige
PHP-Versionen unterstützten nur relative URL-Pfade. Rewrite-Ziel-Hosts
werden durch
<link linkend="ini.session.trans-sid-hosts">session.trans_sid_hosts</link>
definiert.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.trans-sid-tags">
<term>
<parameter>session.trans_sid_tags</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.trans_sid_tags</literal> gibt an, welche HTML-Tags
umgeschrieben werden, um die Session-ID zu enthalten, wenn transparente
SID-Unterstützung aktiviert ist. Die Voreinstellung ist
<literal>a=href,area=href,frame=src,input=src,form=</literal>.
</simpara>
<simpara>
<literal>form</literal> ist ein besonderes Tag. <literal>&lt;input
hidden="session_id" name="session_name"&gt;</literal> wird als
Form-Variable hinzugefügt.
</simpara>
<note>
<simpara>
Vor PHP 7.1.0, wurde
<link linkend="ini.url-rewriter.tags">url_rewriter.tags</link> für
diesen Zweck verwendet. Seit PHP 7.1.0 wird <literal>fieldset</literal>
nicht mehr als besonderes Tag angesehen.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.trans-sid-hosts">
<term>
<parameter>session.trans_sid_hosts</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.trans_sid_hosts</literal> gibt an, welche Hosts
umgeschrieben werden, um die Session-ID zu enthalten, wenn transparente
SID-Unterstützung aktiviert ist. Die Voreinstellung ist
<literal>$_SERVER['HTTP_HOST']</literal>. Mehrere Hosts können durch ","
getrennt angegeben werden; Leerzeichen sind nicht erlaubt. Beispiel:
<literal>php.net,wiki.php.net,bugs.php.net</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.sid-length">
<term>
<parameter>session.sid_length</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.sid_length</literal> erlaubt die Angabe der Länge der
Session-ID-Zeichenkette. Diese Länge kann zwischen 22 und 256 liegen.
</simpara>
<simpara>
Die Voreinstellung ist 32. Wird Kompatibilität benötigt, kann 32, 40
etc. angegeben werden. Längere Session-IDs sind schwieriger zu erraten.
Wenigstens 32 Zeichen werden empfohlen.
</simpara>
<tip>
<para>
Hinweis zur Kompatibiliät: Anstelle von
<literal>session.hash_function</literal>=0 (MD5) und
<literal>session.hash_bits_per_character</literal>=4,
<literal>session.hash_function</literal>=1 (SHA1) und
<literal>session.hash_bits_per_character</literal>=6 sollte 32
verwendet werden. Anstelle von
<literal>session.hash_function</literal>=0 (MD5) und
<literal>session.hash_bits_per_character</literal>=5 sollte 26
verwendet werden. Anstelle von
<literal>session.hash_function</literal>=0 (MD5) und
<literal>session.hash_bits_per_character</literal>=6 sollte 22
verwendet werden. Die INI-Werte müssen so konfiguriert werden, dass die
Session-ID mindestens 128 Bits enthält. Es ist darauf zu
achten, dass der Wert für
<literal>session.sid_bits_per_character</literal> angemessen ist, da
die Session-ID sonst schwächer ist.
</para>
</tip>
<note>
<simpara>
Diese Einstellung wurde in PHP 7.1.0 eingeführt.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.sid-bits-per-character">
<term>
<parameter>session.sid_bits_per_character</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.sid_bits_per_character</literal> erlaubt die Angabe der
Anzahl der Bits in kodierten Session-ID-Zeichen. Die möglichen Werte
sind '4' (0-9, a-f), '5' (0-9, a-v) und '6' (0-9, a-z, A-Z, "-", ",").
</simpara>
<simpara>
Die Voreinstellung ist 4. Mehr Bits ergeben stärkere Session-IDs. 5 wird
für die meisten Umgebungen empfohlen.
</simpara>
<para>
</para>
<note>
<simpara>
Diese Einstellung wurde in PHP 7.1.0 eingeführt.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.hash-function">
<term>
<parameter>session.hash_function</parameter>
<type>mixed</type>
</term>
<listitem>
<simpara>
<literal>session.hash_function</literal> ermöglicht es, 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).
</simpara>
<para>
Es ist auch möglich, einen der Algorithmen zu bestimmen, die durch die
<link linkend="ref.hash">Hash-Erweiterung</link> (falls vorhanden) zur
Verfügung stehen, &zb; <literal>sha512</literal> oder
<literal>whirlpool</literal>. Eine vollständige Liste der unterstützten
Algorithmen kann mit der Funktion <function>hash_algos</function>
abgerufen werden.
</para>
<note>
<simpara>
Entfernt in PHP 7.1.0.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.hash-bits-per-character">
<term>
<parameter>session.hash_bits_per_character</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<literal>session.hash_bits_per_character</literal> ermöglicht es, 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, "-", ",").
</simpara>
<note>
<simpara>
Entfernt in PHP 7.1.0.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.enabled">
<term>
<parameter>session.upload_progress.enabled</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Aktiviert die Überwachung des Upload-Fortschritts und füllt die
entsprechende <varname>$_SESSION</varname>-Variable. Grundeinstellung 1
(aktiviert).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.cleanup">
<term>
<parameter>session.upload_progress.cleanup</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Löscht die Fortschritts-Informationen, sobald alle POST-Daten gelesen
wurden (also der Upload abgeschlossen ist). Grundeinstellung 1
(aktiviert).
</simpara>
<note>
<simpara>
Es wird dringend empfohlen diese Funktion aktiviert zu lassen.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.prefix">
<term>
<parameter>session.upload_progress.prefix</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Ein Präfix für den Namen des Schlüssels für den Upload-Fortschritt im
<varname>$_SESSION</varname>-Array. An diesen wird der Wert von
<literal>$_POST[ini_get("session.upload_progress.name")]</literal>
angehängt, um einen eindeutigen Schlüssel zu erhalten.
</simpara>
<simpara>
Grundeinstellung "upload_progress_".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.name">
<term>
<parameter>session.upload_progress.name</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Der Name des Schlüssels im <varname>$_SESSION</varname>-Array, in
welchem die Fortschritts-Informationen gespeichert werden sollen. Siehe
auch
<link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link>.
</simpara>
<simpara>
Falls <literal>$_POST[ini_get("session.upload_progress.name")]</literal>
nicht übergeben wird oder nicht verfügbar ist, wird kein
Upload-Fortschritt aufgezeichnet.
</simpara>
<simpara>
Grundeinstellung "PHP_SESSION_UPLOAD_PROGRESS".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.freq">
<term>
<parameter>session.upload_progress.freq</parameter>
<type>mixed</type>
</term>
<listitem>
<simpara>
Definiert, wie oft die Fortschritts-Information aktualisiert werden
soll. Dieser Wert kann entweder in Bytes (&dh; Aktualisierung nachdem
eine bestimmte Anzahl an Bytes empfangen wurde) oder in Prozent (&dh;
Aktualisierung nachdem eine bestimmte Prozentzahl der gesamten
Dateigröße empfangen wurde) angegeben werden.
</simpara>
<simpara>
Grundeinstellung "1%".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.min-freq">
<term>
<parameter>session.upload_progress.min_freq</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Die Zeit, die mindestens zwischen zwei Aktualisierungen vergehen muss.
Grundeinstellung "1" (eine Sekunde).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.lazy-write">
<term>
<parameter>session.lazy_write</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Falls <literal>session.lazy_write</literal> auf 1 gesetzt ist, werden
Daten nur gespeichert, nachdem sie sich geändert haben. Grundeinstellung
1 (aktiviert).
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Der Upload-Fortschritt wird nur aufgezeichnet, wenn
session.upload_progress.enabled aktiviert ist und die Variable
$_POST[ini_get("session.upload_progress.name")] gesetzt ist. Siehe
<link linkend="session.upload-progress">Session-Upload Fortschritt</link>
für weitere diesbezügliche Informationen.
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->