diff options
Diffstat (limited to 'inc/session.inc.php')
-rw-r--r-- | inc/session.inc.php | 13 |
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'); |