it-swarm.com.de

Wie stelle ich die Lebensdauer der Cookies ein?

Ich habe Probleme beim Festlegen der Cookie-Lebensdauer in meiner D8-Instanz. Ich möchte es auf Null setzen, damit das Schließen des Browsers den Benutzer abmeldet.

Ich habe ini_set('session.cookie_lifetime', 0); zur Datei site/default/settings.php hinzugefügt. Die Datei enthielt keine vorherige Referenz zu cookie_lifetime. Ich habe die Zeile hinzugefügt. Ich habe auch den Cache Drupal und den Cache Chrome Cache) geleert. Leider wird dies nicht beachtet. Die Sitzungen bleiben auch nach dem Schließen des Browsers bestehen.

Ich habe die gesamte Codebasis nach ini_set('session.cookie_lifetime', 200000); durchsucht, aber es scheint nicht auf meiner Site zu existieren. Ich sehe nicht, wo Drupal setzt die Cookie-Lebensdauer. Ich habe auch versucht, die Einstellung über eine php.ini-Datei im Stammverzeichnis hinzuzufügen, aber das wird von Drupal außer Kraft gesetzt.

Ich denke, das ist eine einfache Sache, deshalb möchte ich Plugins vermeiden. Ich freue mich darauf, von allen zu hören. Danke im Voraus.

10
Tony Stecca

Für die Sitzungscookie-Optionen verwendet D8 Containerparameter anstelle von Einstellungen. Erstellen Sie eine services.yml - Datei im selben Ordner wie settings.php. Die Standardwerte sind in default.services.yml. Sie können diese Datei nach services.yml Kopieren und ändern:

/ sites/default/services.yml :

parameters:
  session.storage.options:
    # Default ini options for sessions.
    #
    # Some distributions of Linux (most notably Debian) ship their PHP
    # installations with garbage collection (gc) disabled. Since Drupal depends
    # on PHP's garbage collection for clearing sessions, ensure that garbage
    # collection occurs by using the most common settings.
    # @default 1
    gc_probability: 1
    # @default 100
    gc_divisor: 100
    #
    # Set session lifetime (in seconds), i.e. the time from the user's last
    # visit to the active session may be deleted by the session garbage
    # collector. When a session is deleted, authenticated users are logged out,
    # and the contents of the user's $_SESSION variable is discarded.
    # @default 200000
    gc_maxlifetime: 200000
    #
    # Set session cookie lifetime (in seconds), i.e. the time from the session
    # is created to the cookie expires, i.e. when the browser is expected to
    # discard the cookie. The value 0 means "until the browser is closed".
    # @default 2000000
    cookie_lifetime: 2000000
17
4k4