PHP Tutorials, PHP lernen, PHP Forum, PHP Community and more ... MyWebsolution.de!

Sidebar

Home News Tutorials Workshops Tipps Artikel Gästebuch Sitemap Pascal Landau

Suche

Members

Forum Login Registrierung

Statistik

Statistikbereich
Jetzt1
Heute358
Gestern331
Gesamt2311174

Sessions in PHP - php.ini

Autor Flitze
Klicks 205081
Rating für Sessions in PHP
  8.7 von 10
Bewertungen135
Stand 12.06.2013
Keywords:
session_set_save_handler, session.use_trans_sid, $_SESSION, php.ini, Session, PHP, Einstellungen

Amazon: PHP 5.3 und MySQL 5.1
Breadcrumb:
Workshops » Sessions in PHP » Sessions in PHP - php.ini
Seite : 1 2 3 4 5 Bewerten
Article Wizard - deutscher Article Spinner

3. Einstellungen in der php.ini

[ADSENSE_LINE]Im Session-Kapitel des offiziellen Manuals gibt es eine Übersicht der verfügbaren Konfigurationen mittels derer man das Sessionmanagment beeinflussen kann. Im folgenden werde ich nun die einzelnen Abschnitte des Manuals zitieren und gegebenenfalls erläutern. Eine Übersicht eurer Einstellung findet ihr, wenn ihr phpinfo() in einem Skript auf eurem Server ausführt. Sucht dort einfach nach 'session'. Diese Werte könnt ihr entweder in der php.ini oder mittels ini_set ändern, sofern ihr darauf zugreifen dürft.

session.save_handler
Zitat:
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. Siehe auch session_set_save_handler().


Mit 'Prozedur' ist in diesem Fall gemeint, dass File-Operationen zum lesen, schreiben und löschen der Sessions ausgeführt werden. Im folgenden Kapitel werde ich eine Möglichkeit beschreiben, wie man mit Hilfe von session_set_save_handler() ein Datenbank basiertes Sessionmanagment erstellen kann. session.save_handler wird dabei aber nicht geändert.

session.save_path
Zitat:
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. Grundeinstellung /tmp. Siehe auch session_save_path().

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.


Bei manchen Hostern wird ein anderer Pfad als /tmp festgelegt. Um dennoch /tmp als Pfad festzulegen, könnt ihr eine .htaccess anlegen, die die Zeile
Code:
php_value session.save_path (Physikalisches Verzeichnis)/tmp/

enthält. Ein vollständiger Pfad samt Befehl könnte in etwa so aussehen
Code:
php_value session.save_path /www/htdocs/w43780fe/tmp/

Bei mir war das nötig, weil session_save_path() bei mir keine Wirkung gezeigt hat.


session.name
Zitat:
session.name spezifiziert den Namen der Session, der als Cookie-Name verwendet wird. Grundeinstellung PHPSESSID. Siehe auch session_name().



session.auto_start
Zitat:
session.auto_start spezifiziert, ob das Session-Modul zu Beginn einer Anfrage automatisch eine Session startet. Grundeinstellung 0 (deaktiviert).



session.serialize_handler
Zitat:
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) und WDDX (name wddx) unterstützt. WDDX steht nur zur Verfügung, wenn PHP mit WDDX support kompiliert wurde. Grundeinstellung php.

Die Daten, die man in einer Session speichert werden in Dateien (oder auch Datenbanken, wie wir später sehen werden) gespeichert. Darin befindet sich aber nur Text. Damit man bei auslesen der Daten aber auch das Fomat zurückbekommt, in dem man die Daten gespeichert hat (z.B. als Array oder Integer oder ...), werden die Daten beim speichern serialisiert also nach einem bestimmten Muster zerlegt. Das Zerlegungsmuster entspricht aber nicht dem der Funktion serialize()!


session.gc_probability

session.gc_divisor

session.gc_maxlifetime

wurden im vorigen Kapitel bereits behandelt.


session.referer_check
Zitat:
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
Zitat:
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.



session.entropy_length
Zitat:
session.entropy_length spezifiziert die Anzahl der Bytes, die von der oben spezifizierten Datei gelesen werden. Grundeinstellung 0 (deaktiviert).



session.use_cookies
Zitat:
session.use_cookies spezifiziert, ob das Modul Cookies verwendet, um die Session-ID clientseitig zu speichern. Grundeinstellung 1 (aktiviert).

Wenn hier 0 gewählt wird, kann die Session ID nur als Link oder eben im Formular übergeben werden. Ist aus meiner Sicht aber sinnlos.


session.use_only_cookies
Zitat:
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.

Das macht schon mehr Sinn. Wenn man seine Seite z.B. für Suchmaschinen optimiert ist es von Vorteil, wenn keine Session ID an die Links angehängt wird, weil diese Seiten dann evtl. nicht oder falsch gespeichert werden. Dadurch, dass man nur Cookies zulässt wird dies gewährleistet.


session.cookie_lifetime
Zitat:
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(). Da das Cookie vom Browser zurückgegeben wird, wird seine Lebensdauer nicht verlängert. Es muss mittels setcookie() gesendet werden.

Wenn man über einen dauerhaften Login nachdenkt ("eingeloggt bleiben";), dann sollte man hier einen sehr großen Wert eingeben, damit das Cookie nicht gelöscht wird.


session.cookie_path
Zitat:
session.cookie_path spezifiziert den Pfad, in dem das Session-Cookie gesetzt wird. Grundeinstellung /. Siehe auch session_get_cookie_params() und session_set_cookie_params().

Dieser Wert gibt an, auf welchem Pfad das Cookie verfügbar ist. '/' bedeutet im ganzen Verzeichnis.


session.cookie_domain
Zitat:
session.cookie_domain spezifiziert die Domain, unter der das 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().

Wenn man auch Subdomain mitverwalten will, also auch dort eine Cookiegültigkeit festlegen will, so sollte man den Wert auf '.domain.de' setzen.


session.cookie_secure
Zitat:
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
Zitat:
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
Zitat:
session.cache_limiter spezifiziert die Methode der Cacheverwaltung, die bei Session-Seiten benutzt wird (none/nocache/private/private_no_expire/public). Grundeinstellung nocache. Siehe auch session_cache_limiter().



session.cache_expire
Zitat:
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
wurde bereits beschrieben


url_rewriter.tags
Zitat:
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 =

Anmerkung: Wenn Sie XHTML-konform sein wollen, müssen Sie den form-Eintrag entfernen und Ihre Formularfelder zwischen <fieldset>-Tags setzen.


Zurück zur vorigen Seite:
Sessions in PHP - Garbage Collection
Weiter zur nächsten Seite:
Sessions in PHP - Datenbank basierte Sessionverwaltung

»» Zurück zum Menu

Suchmaschinenoptimierung

Suchmaschinenoptimierung (SEO - Search Engine Optimization)

Ranking

Tutorials (13)

8.6
8.4
8

Workshops (3)

8.8
8.7
7.6

Tipps (12)

7.2
6.7
6.5

Artikel (32)

8.4
8
7.2

RSS Feeds

Full Feed Tutorials Workshops Tipps Artikel

Twitter

Follow me on Twitter

Partner & Links


Valid HTML 4.01 Transitional
Valid CSS
nach oben

Diese Seiten unterstützen MyWebsolution:
 
© MyWebsolution.de
2006-2024