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 = [ // 核心敏感词 - '系统管理员', '管理员', '系统管理', '系统', '管理', + '系统管理员', '管理员', '系统管理', '系统', '管理','官方', // 繁体中文 '系統管理員', '管理員', '系統管理', '系統',