From 1bfda297ad855371541076fd365cebae0728fd0f Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Mon, 5 Jun 2023 15:15:20 +0700 Subject: [PATCH] Added session_agent in session (#771) --- install/sql/mysql.sql | 1 + install/upgrade/changes.txt | 3 +++ library/includes/init_bb.php | 5 +++-- src/Legacy/Common/User.php | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index e195ab4cb..4f8a13931 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -1147,6 +1147,7 @@ CREATE TABLE IF NOT EXISTS `bb_sessions` `session_start` INT(11) NOT NULL DEFAULT '0', `session_time` INT(11) NOT NULL DEFAULT '0', `session_ip` VARCHAR(42) NOT NULL DEFAULT '0', + `session_agent` TEXT NOT NULL DEFAULT '', `session_logged_in` TINYINT(1) NOT NULL DEFAULT '0', `session_admin` TINYINT(2) NOT NULL DEFAULT '0', PRIMARY KEY (`session_id`) diff --git a/install/upgrade/changes.txt b/install/upgrade/changes.txt index a06277502..1d521d16d 100644 --- a/install/upgrade/changes.txt +++ b/install/upgrade/changes.txt @@ -60,3 +60,6 @@ ALTER TABLE `bb_users` CHANGE `user_newpasswd` `user_newpasswd` VARCHAR(255) NOT // 2.4.0-alpha3 INSERT INTO bb_config VALUES ('show_board_start_index', '1'); + +// 2.4.0-beta1 +ALTER TABLE `bb_sessions` ADD `session_agent` TEXT NOT NULL DEFAULT ''; diff --git a/library/includes/init_bb.php b/library/includes/init_bb.php index 6905ba11d..7617ef321 100644 --- a/library/includes/init_bb.php +++ b/library/includes/init_bb.php @@ -24,6 +24,9 @@ $user_ip = \TorrentPier\Helpers\IPHelper::ip2long($client_ip); define('CLIENT_IP', $client_ip); define('USER_IP', $user_ip); +// Obtain user agent +define('USER_AGENT', $_SERVER['HTTP_USER_AGENT'] ?? ''); + /** * @param $contents * @return string @@ -298,8 +301,6 @@ define('PROFILE_URL', 'profile.php?mode=viewprofile&u='); define('BONUS_URL', 'profile.php?mode=bonus'); define('TOPIC_URL', 'viewtopic.php?t='); -define('USER_AGENT', strtolower($_SERVER['HTTP_USER_AGENT'])); - define('HTML_SELECT_MAX_LENGTH', 60); define('HTML_WBR_LENGTH', 12); diff --git a/src/Legacy/Common/User.php b/src/Legacy/Common/User.php index f2314a974..71fa003cd 100644 --- a/src/Legacy/Common/User.php +++ b/src/Legacy/Common/User.php @@ -254,6 +254,7 @@ class User 'session_start' => (int)TIMENOW, 'session_time' => (int)TIMENOW, 'session_ip' => (string)USER_IP, + 'session_agent' => (string)USER_AGENT, 'session_logged_in' => (int)$login, 'session_admin' => (int)$mod_admin_session, ]); @@ -304,6 +305,7 @@ class User } $this->data['session_id'] = $session_id; $this->data['session_ip'] = USER_IP; + $this->data['session_agent'] = USER_AGENT; $this->data['session_user_id'] = $user_id; $this->data['session_logged_in'] = $login; $this->data['session_start'] = TIMENOW;