From 20dbba3e6e702fe3966d9b1a106eab7b5361357c Mon Sep 17 00:00:00 2001 From: david082321 <7046617+david082321@users.noreply.github.com> Date: Sat, 6 Nov 2021 16:41:03 +0800 Subject: [PATCH] v4.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 实装 用户key 的过期检测 2. 移除不需要的 include 3. 修复重构后 config.php 的 bug --- config.php | 2 +- index.php | 1 - intl/gateway/v2/ogv/playurl/index.php | 1 - pgc/player/api/playurl/index.php | 1 - pgc/player/web/playurl/index.php | 1 - utils/auth.php | 27 +++++++++++++++++---------- utils/functions_cache.php | 25 +++++++++++++++---------- 7 files changed, 33 insertions(+), 25 deletions(-) diff --git a/config.php b/config.php index 556aecb..1d394a3 100644 --- a/config.php +++ b/config.php @@ -102,7 +102,7 @@ // 其他 define('WELCOME', "file"); // 首页画面。text 文字, file 加载文件 -define('WELCOME_TEXT', "Success!
Power by BiliRoaming-PHP-Server. Ver".VERSION); // 首页欢迎语 +define('WELCOME_TEXT', "Success! Power by BiliRoaming-PHP-Server."); // 首页欢迎语 define('WELCOME_FILE', "hello.php"); // 首页文件 // 【禁忌功能】替换访问密钥 diff --git a/index.php b/index.php index 5e5e332..adb8ea9 100644 --- a/index.php +++ b/index.php @@ -36,7 +36,6 @@ include(ROOT_PATH."utils/resign.php"); // 替换access_key } if (SAVE_CACHE == 1) { - include (ROOT_PATH."utils/cache.php"); get_cache(); // 获取缓存 } // 指定ip回源 diff --git a/intl/gateway/v2/ogv/playurl/index.php b/intl/gateway/v2/ogv/playurl/index.php index 3c409ef..1089d7c 100644 --- a/intl/gateway/v2/ogv/playurl/index.php +++ b/intl/gateway/v2/ogv/playurl/index.php @@ -23,7 +23,6 @@ include(ROOT_PATH."utils/resign.php"); // 替换access_key } if (SAVE_CACHE == 1) { - include (ROOT_PATH."utils/cache.php"); get_cache(); // 获取缓存 } // 指定ip回源 diff --git a/pgc/player/api/playurl/index.php b/pgc/player/api/playurl/index.php index 92a84de..190c0ca 100644 --- a/pgc/player/api/playurl/index.php +++ b/pgc/player/api/playurl/index.php @@ -23,7 +23,6 @@ include(ROOT_PATH."utils/resign.php"); // 替换access_key } if (SAVE_CACHE == 1) { - include (ROOT_PATH."utils/cache.php"); get_cache(); // 获取缓存 } // 指定ip回源 diff --git a/pgc/player/web/playurl/index.php b/pgc/player/web/playurl/index.php index d7c1e9f..a1f0112 100644 --- a/pgc/player/web/playurl/index.php +++ b/pgc/player/web/playurl/index.php @@ -23,7 +23,6 @@ include(ROOT_PATH."utils/resign.php"); // 替换access_key } if (SAVE_CACHE == 1) { - include (ROOT_PATH."utils/cache.php"); get_cache(); // 获取缓存 } // 指定ip回源 diff --git a/utils/auth.php b/utils/auth.php index 1071305..cdd0b31 100644 --- a/utils/auth.php +++ b/utils/auth.php @@ -7,19 +7,26 @@ $out = get_userinfo_fromsql(); $uid = $out[0]; $add_time = $out[1]; - if ($uid == "" || $uid == "0") { + $due_date = $out[2]; + $expired = $out[3]; + + if (($uid == "" || $uid == "0") && $expired == "0") { $out = get_userinfo(); $uid = $out[0]; $due = $out[1]; - if ($uid != "0") { - $sql = " INSERT INTO `keys` (`add_time`,`uid`,`access_key`,`due_date`) VALUES (now(),'$uid','".ACCESS_KEY."','$due')"; - $dbh -> exec($sql); - } elseif (NEED_LOGIN == 1) { - $baned = 20; - block($baned); - } - } elseif (strtotime(time()) - strtotime($add_time) >= CACHE_TIME_USER) { - refresh_userinfo(); + $expired = "0"; + } elseif (time() - strtotime($add_time) >= CACHE_TIME_USER) { + $out = refresh_userinfo(); + $uid = $out[0]; + $due = $out[1]; + $expired = $out[2]; + } + if ($uid != "0") { + $sql = " INSERT INTO `keys` (`add_time`,`uid`,`access_key`,`due_date`) VALUES (now(),'$uid','".ACCESS_KEY."','$due')"; + $dbh -> exec($sql); + } elseif (NEED_LOGIN == 1 || $expired == "1") { + $baned = 20; + block($baned); } } elseif (ACCESS_KEY != "") { $out = get_userinfo(); diff --git a/utils/functions_cache.php b/utils/functions_cache.php index a04bd23..ff96615 100644 --- a/utils/functions_cache.php +++ b/utils/functions_cache.php @@ -28,41 +28,46 @@ function refresh_userinfo() { $uid = $out[0]; $due = $out[1]; if ($uid != "0") { - $sql = " UPDATE `keys` SET `add_time` = now(), `uid` = '".$uid."', `due_date` = '".$due."' WHERE `keys`.`access_key` = '".ACCESS_KEY."';"; + $sql = " UPDATE `keys` SET `add_time` = now(), `uid` = '".$uid."', `due_date` = '".$due."', `expired` = '0' WHERE `keys`.`access_key` = '".ACCESS_KEY."';"; $dbh -> exec($sql); if ((int)$due > time()*1000) { $member_type = 2; // 大会员 } else { $member_type = 1; // 不是大会员 } + $expired = 0; } else { $sql = " UPDATE `keys` SET `expired` = '1' WHERE `keys`.`access_key` = '".ACCESS_KEY."';"; $dbh -> exec($sql); $member_type = 0; //未登录 + $uid = 0; + $due = 0; + $expired = 1; } - return $uid; + return [$uid, $due, $expired]; } // 从缓存获取用户信息 function get_userinfo_fromsql() { global $dbh; global $member_type; - $sqlco = "SELECT `uid`,`add_time`,`expired` FROM `keys` WHERE `access_key` = '".ACCESS_KEY."'"; + $sqlco = "SELECT `uid`,`add_time`,`due_date`,`expired` FROM `keys` WHERE `access_key` = '".ACCESS_KEY."'"; $cres = $dbh -> query($sqlco); $vnum = $cres -> fetch(); - if (!$vnum){ + if (!$vnum) { $member_type = 0; //未登录 - return ["0","0","0"]; + return ["0","0","0","0"]; } - $out[0] = $vnum['uid']; - $out[1] = $vnum['add_time']; - $out[2] = $vnum['expired']; - if ((int)$out[2] > time()*1000) { + $uid = $vnum['uid']; + $add_time = $vnum['add_time']; + $due = $vnum['due_date']; + $expired = $vnum['expired']; + if ((int)$due > time()*1000) { $member_type = 2; // 大会员 } else { $member_type = 1; // 不是大会员 } - return $out; + return [$uid, $add_time, $due, $expired]; } // 获取playurl缓存