Lorsque vous travaillez avec PHP, vous devrez peut-être ajuster les paramètres de délai d'expiration de session par défaut. Bien que les modifications de php.ini offrent une solution, un accès limité à ce fichier peut vous inciter à rechercher des méthodes alternatives.
Pour imposer une limite supérieure stricte d'inactivité de session, nous pouvons implémenter logique personnalisée qui stocke cette limite dans les données de session :
session_start(); $now = time(); if (isset($_SESSION['discard_after']) && $now > $_SESSION['discard_after']) { // Session has expired, destroy and start a new one session_unset(); session_destroy(); session_start(); } // Set expiration time for both new and existing sessions $_SESSION['discard_after'] = $now + 3600;
Si vous imposez une limite stricte est inutile, vous pouvez vous appuyer sur des paramètres de configuration PHP spécifiques pour établir une limite inférieure :
// Server retains session data for at least 1 hour ini_set('session.gc_maxlifetime', 3600); // Clients retain session ID for exactly 1 hour session_set_cookie_params(3600); session_start();
Cette approche demande au serveur de stocker les données de session pendant au moins une heure et aux clients de supprimer leur identifiant de session après la même durée.
Lors de l'imposition de délais d'attente de session, il est crucial de prendre en compte les paramètres côté client et côté serveur. Pour un contrôle et une prévisibilité maximum, combinez une limite supérieure stricte avec la limite inférieure de session.gc_maxlifetime. Cependant, sachez que la préservation de l'ID de session peut mériter une certaine attention, surtout si sa valeur est sensible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!