Maison >développement back-end >tutoriel php >Comment faire expirer une session PHP après 30 minutes d'inactivité ?
Expire la session PHP après 30 minutes
Question :
Comment puis-je créer une session PHP qui expire après 30 minutes ?
Réponse :
Méthode : implémenter un délai d'expiration de session personnalisé
Les méthodes d'expiration de session intégrées de PHP, telles que session.gc_maxlifetime et session.cookie_lifetime ne sont pas fiables en raison de divers facteurs. Au lieu de cela, implémentez votre propre délai d'attente en utilisant :
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { session_unset(); session_destroy(); } $_SESSION['LAST_ACTIVITY'] = time();
Ce code met à jour l'horodatage de la session à chaque demande, gardant le fichier de session actif et empêchant une suppression prématurée par le ramasse-miettes.
Sécurité supplémentaire :
Pour vous protéger contre le piratage de session, régénérez l'ID de session périodiquement :
if (!isset($_SESSION['CREATED'])) { $_SESSION['CREATED'] = time(); } else if (time() - $_SESSION['CREATED'] > 1800) { session_regenerate_id(true); $_SESSION['CREATED'] = time(); }
Remarques :
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!