From 34f7490e943cd766f9138f87e0e14f867a576da3 Mon Sep 17 00:00:00 2001 From: solocla Date: Sat, 5 Sep 2026 13:36:48 +0200 Subject: [PATCH] session keep alive --- public/userarea/imported.php | 72 ++++++++++++++++++++++++++ public/userarea/include/headscript.php | 10 +++- public/userarea/session_keepalive.php | 16 ++++++ public/userarea/session_remaining.php | 0 public/userarea/touch_session.php | 8 +++ 5 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 public/userarea/session_keepalive.php create mode 100644 public/userarea/session_remaining.php create mode 100644 public/userarea/touch_session.php diff --git a/public/userarea/imported.php b/public/userarea/imported.php index e6c41bcd..5ce05739 100644 --- a/public/userarea/imported.php +++ b/public/userarea/imported.php @@ -1804,7 +1804,79 @@ $gridMeta = [ + + \ No newline at end of file diff --git a/public/userarea/include/headscript.php b/public/userarea/include/headscript.php index 18578544..791eeae4 100644 --- a/public/userarea/include/headscript.php +++ b/public/userarea/include/headscript.php @@ -56,4 +56,12 @@ $photousername = basename($avatar); //include files require_once(__DIR__ . '/../../languages/en/general.php'); -//include("generalsettings.php"); \ No newline at end of file +//include("generalsettings.php"); + +// Timbra la sessione dell'utente a ogni pagina (rolling manuale) +try { + $pdoSess = DBHandlerSelect::getInstance()->getConnection(); + $pdoSess->prepare("UPDATE auth_sessions SET last_activity = ? WHERE user_id = ? ORDER BY last_activity DESC LIMIT 1") + ->execute([time(), $iduserlogin]); +} catch (\Throwable $e) { /* non bloccare la pagina */ +} diff --git a/public/userarea/session_keepalive.php b/public/userarea/session_keepalive.php new file mode 100644 index 00000000..4effb834 --- /dev/null +++ b/public/userarea/session_keepalive.php @@ -0,0 +1,16 @@ +getConnection(); + $stmt = $pdo->prepare( + "UPDATE auth_sessions SET last_activity = ? WHERE user_id = ? ORDER BY last_activity DESC LIMIT 1" + ); + $stmt->execute([time(), $iduserlogin]); + echo json_encode(['ok' => true, 'rows' => $stmt->rowCount(), 'ts' => time()]); +} catch (\Throwable $e) { + echo json_encode(['ok' => false, 'error' => $e->getMessage()]); +} diff --git a/public/userarea/session_remaining.php b/public/userarea/session_remaining.php new file mode 100644 index 00000000..e69de29b diff --git a/public/userarea/touch_session.php b/public/userarea/touch_session.php new file mode 100644 index 00000000..093a2eac --- /dev/null +++ b/public/userarea/touch_session.php @@ -0,0 +1,8 @@ +getConnection(); +$pdo->prepare("UPDATE auth_sessions SET last_activity = ? WHERE id = ?") + ->execute([time(), $sid]); +echo json_encode(['ok' => true, 'sid' => $sid, 'ts' => time()]);