kill idle sessions
Bernd Wurst

Bernd Wurst commited on 2023-10-03 17:35:30
Zeige 2 geänderte Dateien mit 24 Einfügungen und 0 Löschungen.

... ...
@@ -0,0 +1,9 @@
1
+function clear() {
2
+    location.href = 'clear.php';
3
+}
4
+
5
+$(document).ready( function () {
6
+    // 2 Minuten, dann alles resetten
7
+    setTimeout(clear, 120*1000); 
8
+});
9
+
... ...
@@ -2,6 +2,21 @@
2 2
 require_once "lib/api.php";
3 3
 require_once "lib/auftrag.php";
4 4
 session_start();
5
+if (isset($_SESSION['last_activity']) && $_SESSION['last_activity'] < time()-(20*60)) {
6
+    // Session seit 20 Minuten nicht benutzt
7
+    if (isset($_SESSION['kundennr']) || isset($_SESSION['orderid'])) {
8
+        // Session hat Inhalt
9
+        // Auftrag lokal speichern
10
+        $filename = "../data/".date('Y').'/canceledsession-'.time().'.json';
11
+        if (isset($_SESSION['orderid'])) {
12
+            $filename = "../data/".date('Y').'/canceledsession-'.$_SESSION['orderid'].'-'.time().'.json';
13
+        }
14
+        @file_put_contents($filename, json_encode($_SESSION));
15
+        session_destroy();
16
+        session_start();
17
+    }
18
+}
19
+$_SESSION['last_activity'] = time();
5 20
 $_SESSION['warnings'] = [];
6 21
 
7 22
 $_SESSION['angeliefert'] = true;
8 23