From 12afa840d4ecf9a8ad85558623cc73f7fe00b048 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 24 Jan 2026 01:29:23 -0500 Subject: [PATCH] Update config_enhanced.php --- config/config_enhanced.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/config/config_enhanced.php b/config/config_enhanced.php index 8771445..6cd4887 100644 --- a/config/config_enhanced.php +++ b/config/config_enhanced.php @@ -327,14 +327,20 @@ if (session_status() == PHP_SESSION_NONE) { ini_set('session.cookie_secure', isset($_SERVER['HTTPS'])); ini_set('session.use_strict_mode', 1); // Asegurar que la cookie de sesión y GC respeten el timeout configurado (SESSION_TIMEOUT) - ini_set('session.cookie_lifetime', (int)SESSION_TIMEOUT); - ini_set('session.gc_maxlifetime', (int)SESSION_TIMEOUT); + // Si SESSION_TIMEOUT <= 0 lo interpretamos como "persistente" (no expira): usamos un valor grande para cookie y GC + $cookieLifetime = (int)SESSION_TIMEOUT; + if ($cookieLifetime <= 0) { + // 10 años en segundos + $cookieLifetime = 10 * 365 * 24 * 60 * 60; + } + ini_set('session.cookie_lifetime', $cookieLifetime); + ini_set('session.gc_maxlifetime', $cookieLifetime); session_start(); } -// Verificar timeout de sesión +// Verificar timeout de sesión (solo si SESSION_TIMEOUT > 0) if (isUserLoggedIn() && isset($_SESSION['last_activity'])) { - if (time() - $_SESSION['last_activity'] > SESSION_TIMEOUT) { + if (defined('SESSION_TIMEOUT') && (int)SESSION_TIMEOUT > 0 && (time() - $_SESSION['last_activity'] > (int)SESSION_TIMEOUT)) { writeLog('INFO', 'Session timeout', ['user' => $_SESSION['username'] ?? 'unknown']); session_destroy(); session_start();