Update config_enhanced.php
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user