From 9a8900739d192100716867c537adb52afa187739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Thu, 18 Sep 2025 15:40:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=B3=A8=E9=94=80=E5=90=8E?= =?UTF-8?q?=20=E5=8F=AF=E9=87=8D=E5=A4=8D=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Room.php | 6 ++++++ application/api/model/User.php | 6 ++++++ application/api/model/UserData.php | 5 ++--- application/common.php | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 7d3ae4f..44359e7 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -28,6 +28,12 @@ class Room extends Model return ['code' => 0, 'msg' => '请先进行实名认证通过后操作', 'data' => null]; } + //检查房间名称是否包含官方等词 + //名称中不能有 系统管理 等关键字 + if(!nickname_filter($room_name)){ + return ['code' => 0, 'msg' => '名称中不能有 系统、管理、官方等相关敏感字', 'data' => null]; + } + if($type <= 0){ $room_info = db::name('vs_room')->where(['user_id' => $uid, 'type_id' => ['<>',6]])->find(); if (!empty($room_info)) { diff --git a/application/api/model/User.php b/application/api/model/User.php index 22eb957..cbc94a7 100644 --- a/application/api/model/User.php +++ b/application/api/model/User.php @@ -663,6 +663,12 @@ class User extends Model if(!nickname_filter($nickname)){ return ['code' => 0, 'msg' => '名称中不能有 系统管理 等相关字', 'data' => null]; } + $nick_name_info = db::name('user')->where(['nickname' => $nickname,'status' => ['<>',0]])->find(); + if(!empty($nick_name_info)){ + if($user_id != $nick_name_info['id']){ + return['code' => 0, 'msg' => '该昵称已被占用','data' =>null]; + } + } $data['nickname'] = $nickname; } if(!empty($sex)){ diff --git a/application/api/model/UserData.php b/application/api/model/UserData.php index 7f34e8b..ea6f2bf 100644 --- a/application/api/model/UserData.php +++ b/application/api/model/UserData.php @@ -49,7 +49,7 @@ class UserData extends Model $data['id'] = $uid; if (!empty($nick_name)) { $data['nickname'] = $nick_name; - $nick_name_info = db::name('user')->where('nickname', $nick_name)->find(); + $nick_name_info = db::name('user')->where(['nickname' => $nick_name,'status' => ['<>',0]])->find(); if(!empty($nick_name_info)){ if($uid != $nick_name_info['id']){ return['code' => 0, 'msg' => '该昵称已被占用','data' =>null]; @@ -133,8 +133,7 @@ class UserData extends Model $data['uid'] = $uid; if (!empty($nick_name)) { $data['nick_name'] = $nick_name; - $data['base64_nick_name'] = base64_encode($nick_name); - $nick_name_info = db::name('user')->where('base64_nick_name', $data['base64_nick_name'])->find(); + $nick_name_info = db::name('user')->where(['nickname' => $nick_name,'status' => ['<>',0]])->find(); if(!empty($nick_name_info)){ if($uid != $nick_name_info['uid']){ return['code' => 0, 'msg' => '该昵称已被占用','data' =>null]; diff --git a/application/common.php b/application/common.php index c84be3d..2dd6d5e 100644 --- a/application/common.php +++ b/application/common.php @@ -626,7 +626,7 @@ function nickname_filter($username) { // 定义敏感词数组(包含常见变体) $sensitiveWords = [ // 核心敏感词 - '系统管理员', '管理员', '系统管理', '系统', '管理', + '系统管理员', '管理员', '系统管理', '系统', '管理','官方', // 繁体中文 '系統管理員', '管理員', '系統管理', '系統',