From 15ad07423aed342695101de3004cb3fcfdbda79e Mon Sep 17 00:00:00 2001 From: Timothy Allen Date: Fri, 25 Sep 2026 21:39:25 +0200 Subject: [PATCH] Match usernames and session keys with = instead of LIKE. A username of "%" matched the first editor. --- publish/login.php | 2 +- session.lib.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/publish/login.php b/publish/login.php index 10e3375..fc29ab3 100644 --- a/publish/login.php +++ b/publish/login.php @@ -17,7 +17,7 @@ if (isset($_SESSION['editor'])) { open_db('open'); $username = (string)($_POST['username'] ?? ''); - $query = "SELECT * FROM $table WHERE username LIKE ? LIMIT 1"; + $query = "SELECT * FROM $table WHERE username = ? LIMIT 1"; $getid = $db->execute_query($query, array($username)) or die("Query failed: ".$db->error); $row = $getid->fetch_assoc(); diff --git a/session.lib.php b/session.lib.php index 9f0f6b2..cc2f80d 100644 --- a/session.lib.php +++ b/session.lib.php @@ -36,7 +36,7 @@ function check_persistent_login() { $cookie_data = (string)$_COOKIE['PersistentAuth']; list($username, $key) = explode("|", $cookie_data, 2) + array('', ''); - $query = "SELECT * FROM $table WHERE username LIKE ? LIMIT 1"; + $query = "SELECT * FROM $table WHERE username = ? LIMIT 1"; $getid = $db->execute_query($query, array($username)) or die("Query failed: ".$db->error); $row = $getid->fetch_assoc(); open_db('close'); @@ -86,7 +86,7 @@ function delete_persistent_login() { list($username, $key) = explode("|", $cookie_data, 2) + array('', ''); // Remove this session key from the database - $query = "DELETE FROM $table WHERE username LIKE ? AND session LIKE ?"; + $query = "DELETE FROM $table WHERE username = ? AND session = ?"; $db->execute_query($query, array($username, $key)) or die("Query failed: ".$db->error); // Reap old sessions