From 3434282bbb342966d9dfe256108f9f1d0eb97d34 Mon Sep 17 00:00:00 2001 From: icret Date: Sat, 4 Mar 2023 01:57:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/index.php | 1 - api/index.php | 18 +++++++++++++++++- application/function.php | 36 ++++++++++++++++++------------------ application/upload.php | 13 +++++++++++++ docs/update.md | 5 ++++- docs/安装图床.md | 5 ++--- 6 files changed, 54 insertions(+), 24 deletions(-) diff --git a/admin/index.php b/admin/index.php index 74a577a..97e4a94 100755 --- a/admin/index.php +++ b/admin/index.php @@ -8,7 +8,6 @@ require_once APP_ROOT . '/config/config.guest.php'; // 验证登录 header("Content-Type: text/html;charset=utf-8"); - // 退出 if (isset($_GET['login'])) { if ($_GET['login'] = 'logout') { diff --git a/api/index.php b/api/index.php index 0130c68..414d4f2 100755 --- a/api/index.php +++ b/api/index.php @@ -54,7 +54,23 @@ $handle = new Upload($_FILES['image'], 'zh_CN'); if ($handle->uploaded) { // 允许上传的mime类型 - $handle->allowed = array('image/*'); + if ($config['allowed'] === 1) { + $handle->allowed = array('image/*'); + } + // svg格式过滤 + if ($handle->file_src_name_ext === 'svg') { + $svg = file_get_contents($handle->file_src_pathname); + if (preg_match('//', $svg)) { + exit(json_encode( + array( + "result" => "failed", + "code" => 205, + "message" => "请勿上传非法文件", + ) + )); + } + } + // 文件命名 $handle->file_new_name_body = imgName($handle->file_src_name_body); // 添加Token ID diff --git a/application/function.php b/application/function.php index bdf72ee..f320922 100755 --- a/application/function.php +++ b/application/function.php @@ -119,7 +119,7 @@ function _login($user = null, $password = null) global $guestConfig; // cookie验证 - if ($user == null and $password == null) { + if ($user === null and $password === null) { // 无cookie if (empty($_COOKIE['auth'])) { return json_encode(array('code' => 400, 'level' => 0, 'messege' => '请登录')); @@ -132,9 +132,9 @@ function _login($user = null, $password = null) // 判断账号是否存在 if ($browser_cookie[0] !== $config['user'] && !array_key_exists($browser_cookie[0], $guestConfig)) return json_encode(array('code' => 400, 'level' => 0, 'messege' => '账号不存在')); // 判断是否管理员 - if ($browser_cookie[0] == $config['user'] && $browser_cookie[1] == $config['password']) return json_encode(array('code' => 200, 'level' => 1, 'messege' => '尊敬的管理员')); + if ($browser_cookie[0] === $config['user'] && $browser_cookie[1] === $config['password']) return json_encode(array('code' => 200, 'level' => 1, 'messege' => '尊敬的管理员')); // 判断是否上传者 - if (array_key_exists($browser_cookie[0], $guestConfig) && $browser_cookie[1] == $guestConfig[$browser_cookie[0]]['password']) { + if (array_key_exists($browser_cookie[0], $guestConfig) && $browser_cookie[1] === $guestConfig[$browser_cookie[0]]['password']) { // 判断上车者是否过期 if ($guestConfig[$browser_cookie[0]]['expired'] < time()) { // 上传者账户密码正确,但是账户过期 @@ -143,7 +143,7 @@ function _login($user = null, $password = null) return json_encode(array('code' => 200, 'level' => 2, 'messege' => $browser_cookie[0] . '用户已登录')); } // 账号存在,密码错误 - if ($browser_cookie[0] == $config['user'] || array_key_exists($browser_cookie[0], $guestConfig)) return json_encode(array('code' => 400, 'level' => 0, 'messege' => '密码错误')); + if ($browser_cookie[0] === $config['user'] || array_key_exists($browser_cookie[0], $guestConfig)) return json_encode(array('code' => 400, 'level' => 0, 'messege' => '密码错误')); } } @@ -151,25 +151,25 @@ function _login($user = null, $password = null) $user = strip_tags($user); $password = strip_tags($password); // 是否管理员 - if ($user == $config['user'] && $password == $config['password']) { + if ($user === $config['user'] && $password === $config['password']) { // 将账号密码序列化后存储 $browser_cookie = serialize(array($user, $password)); setcookie('auth', $browser_cookie, time() + 3600 * 24 * 14, '/'); return json_encode(array('code' => 200, 'level' => 1, 'messege' => '管理员登录成功')); } // 是否上传者 - if (array_key_exists($user, $guestConfig) && $password == $guestConfig[$user]['password']) { + if (array_key_exists($user, $guestConfig) && $password === $guestConfig[$user]['password']) { // 上传者账号过期 if ($guestConfig[$user]['expired'] < time()) return json_encode(array('code' => 400, 'level' => 0, 'messege' => $user . '账号已过期')); // 未过期设置cookie - $browser_cookie = serialize(array($user, $password)); + $browser_cookie === serialize(array($user, $password)); setcookie('auth', $browser_cookie, time() + 3600 * 24 * 14, '/'); return json_encode(array('code' => 200, 'level' => 2, 'messege' => $user . '用户登录成功')); } // 检查账号是否存在 - if (array_key_exists($user, $guestConfig) || $user == $config['user']) { + if (array_key_exists($user, $guestConfig) || $user === $config['user']) { // 账号存在,密码错误 - if ($user == $config['user'] || array_key_exists($user, $guestConfig)) return json_encode(array('code' => 400, 'level' => 0, 'messege' => '密码错误')); + if ($user === $config['user'] || array_key_exists($user, $guestConfig)) return json_encode(array('code' => 400, 'level' => 0, 'messege' => '密码错误')); } else { return json_encode(array('code' => 400, 'level' => 0, 'messege' => '账号不存在')); } @@ -207,12 +207,12 @@ function checkLogin() } // 管理员登陆 - if ($getCOK[0] == $config['user'] && $getCOK[1] == $config['password']) { + if ($getCOK[0] === $config['user'] && $getCOK[1] === $config['password']) { return 204; } // 上传者账号登陆 - if ($getCOK[1] == $guestConfig[$getCOK[0]]['password']) { + if ($getCOK[1] === $guestConfig[$getCOK[0]]['password']) { if ($guestConfig[$getCOK[0]]['expired'] < time()) { // 上传者账号过期 return 206; @@ -232,7 +232,7 @@ function mustLogin() $status = _login(); $status = json_decode($status, true); - if ($status['code'] == 200) { + if ($status['code'] === 200) { echo ' '; } - if ($status['code'] == 400) { + if ($status['code'] === 400) { echo '