diff --git a/inc/functions.inc.php b/inc/functions.inc.php index f6a4da5..7a3038e 100644 --- a/inc/functions.inc.php +++ b/inc/functions.inc.php @@ -2566,7 +2566,8 @@ function check_userdatenvorhanden() { function is_checked_in_index() { - if( isset($_SESSION['userid']) || isset($_COOKIE['identifier'])){ + // 'identifier' ist das Cookie des Admin-Bereichs - fuer den internen Bereich zaehlt 'remember_device'. + if( isset($_SESSION['userid']) || !empty($_COOKIE['remember_device'])){ return true; }else{ return false; diff --git a/intern/index.php b/intern/index.php index 8ac5a24..33130fd 100644 --- a/intern/index.php +++ b/intern/index.php @@ -1,8 +1,13 @@ diff --git a/intern/logout.php b/intern/logout.php index 03b72e6..06549b8 100644 --- a/intern/logout.php +++ b/intern/logout.php @@ -34,6 +34,17 @@ $cookieOpts = [ setcookie('identifier', '', $cookieOpts); setcookie('securitytoken', '', $cookieOpts); +// 4) Intern-Bereich: Remember-Device-Token loeschen. +// Ohne diesen Schritt meldet check_intern_user() den Benutzer beim naechsten +// Seitenaufruf ueber das Cookie automatisch wieder an - der Logout waere wirkungslos. +if (!empty($_COOKIE["remember_device"])) { + $stmt = $pdo->prepare("DELETE FROM intern_securitytokens WHERE identifier = :i"); + $stmt->execute([":i" => (string)$_COOKIE["remember_device"]]); +} + +setcookie("remember_device", "", $cookieOpts); +setcookie("remember_device_token", "", $cookieOpts); + include("templates/header.inc.php"); ?>
diff --git a/intern/neueanfrage.php b/intern/neueanfrage.php index 5128f28..35e8c34 100644 --- a/intern/neueanfrage.php +++ b/intern/neueanfrage.php @@ -1,4 +1,7 @@