summaryrefslogtreecommitdiffstats
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/session.inc.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/inc/session.inc.php b/inc/session.inc.php
index d83de088..f2cb1848 100644
--- a/inc/session.inc.php
+++ b/inc/session.inc.php
@@ -107,6 +107,19 @@ class Session
self::$data = false;
}
+ /**
+ * Kill all sessions of currently logged-in user. This can be used as
+ * a security measure if the user suspects that a session left open on
+ * another device could be/is being abused.
+ */
+ public static function deleteAllButCurrent()
+ {
+ if (self::$sid === false)
+ return;
+ Database::exec("DELETE FROM session WHERE sid <> :sid AND userid = :uid",
+ ['sid' => self::$sid, 'uid' => self::$userId]);
+ }
+
public static function deleteCookie()
{
Util::clearCookie('sid');