From ccae67f2361d618bcc1c3a1d21a072c7e5d4f8a4 Mon Sep 17 00:00:00 2001 From: "MI15\\Win" <10359480+tznb@user.noreply.gitee.com> Date: Sat, 22 Apr 2023 20:37:34 +0800 Subject: [PATCH] v2.0.15-20230422 --- index.php | 1 + system/Msg.php | 2 +- system/Register.php | 26 +++++-- system/admin.php | 2 +- system/api.php | 2 +- system/api_root.php | 16 +++++ system/click.php | 4 +- system/index.php | 4 +- system/login.php | 2 +- system/version.txt | 2 +- .../admin/page/expand/guestbook-admin.php | 8 ++- .../admin/page/expand/guestbook-user.php | 4 +- templates/admin/page/root/user_control.php | 71 ++++++++++++++++++- templates/admin/page/updatelog.php | 11 +++ 14 files changed, 136 insertions(+), 19 deletions(-) diff --git a/index.php b/index.php index 13d0a5b..46ccddd 100644 --- a/index.php +++ b/index.php @@ -73,6 +73,7 @@ if(empty($c) || $c == 'index'){ }elseif(in_array($c,['admin','click','api','ico','verify'])){ require "./system/{$c}.php"; }elseif(in_array($c,['apply','guestbook'])){ + if($global_config['Maintenance'] != 0){Amsg(-1,'网站正在进行维护,请稍后再试!');} require "./system/expand/{$c}.php"; }else{ Amsg(-1,'接口错误'.$c); diff --git a/system/Msg.php b/system/Msg.php index b0216de..e2ccea1 100644 --- a/system/Msg.php +++ b/system/Msg.php @@ -23,6 +23,6 @@ function Amsg($code,$msg){ msg($code,$msg); }else{ header("content-Type: text/html; charset=utf-8"); - exit('错误错误代码:'.$code.'
错误信息:'.$msg.'
'); + exit('错误代码:'.$code.'
信息:'.$msg.'
'); } } \ No newline at end of file diff --git a/system/Register.php b/system/Register.php index d0c5ff8..6f55057 100644 --- a/system/Register.php +++ b/system/Register.php @@ -1,4 +1,5 @@ "s_templates"])); //如果是Get请求则载入登录模板 @@ -14,7 +15,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET'){ $global_templates['register'] = 'default'; update_db("global_config", ["v" => $global_templates], ["k"=>"s_templates"]); } - $copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; + $copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; $ICP = empty($global_config['ICP'])?'':''.$global_config['ICP'].''; $reg_tips = get_db('global_config','v',['k'=>'reg_tips']); require $t_path; @@ -55,17 +56,18 @@ if(!preg_match('/^[A-Za-z0-9]{4,13}$/', $user)){ msg(-1,'邮箱长度超限'); }elseif(strlen($pass)!=32){ msg(-1,'POST提交的密码异常≠32!'); -}elseif(preg_match("/(class|controller|data|favicon|initial|static|templates|index|root|admin|cache|upload)/i",$user) ) { - msg(-1,'禁止注册保留用户名!'); +}elseif(preg_match("/^(system|data|static|templates|index|root|admin)$/i",$user) ) { + msg(-1,'改用户名已被系统保留!'); }elseif(!empty(get_db('global_user','ID',['User'=>$user ]))){ msg(-1,'该账号已被注册!'); }elseif(!empty(get_db('global_user','ID',['Email'=>$Email ]))){ msg(-1,'该邮箱已被使用!'); }elseif(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i",$Email)){ msg(-1,'邮箱错误!'); +}elseif(username_retain_verify($user)){ + msg(-1,'该账号已被站长保留!'); } - //插入用户表和创建初始数据库 $RegTime = time(); $PassMD5 = Get_MD5_Password($pass,$RegTime); @@ -182,6 +184,22 @@ $category_id = intval(max_db('user_categorys','cid',['uid'=>$USER_DB['ID']])) +1 insert_db("user_config", ["uid"=>$USER_DB['ID'],"k"=>"category_id","v"=>$category_id,"t"=>"max_id","d"=>'分类ID']); insert_db("user_config", ["uid"=>$USER_DB['ID'],"k"=>"pwd_group_id","v"=>1,"t"=>"max_id","d"=>'加密组ID']); + +//账号保留 +function username_retain_verify($username){ + $list = get_db("global_config", "v", ["k" => "username_retain"]); + if(empty($list)){ + return false; + } + $patterns = explode("\n", $list); + foreach($patterns as $pattern){ + if (preg_match($pattern, $username)) { + return true; + } + } + return false; +} + //返回注册成功 msg(1,'注册成功'); diff --git a/system/admin.php b/system/admin.php index abc30b7..655bb2c 100644 --- a/system/admin.php +++ b/system/admin.php @@ -1,4 +1,4 @@ - "username_retain"]); + msgA(['code'=>1,'msg'=>'获取成功','data'=>$data]); + }elseif($_GET['type'] == 'write_username_retain'){ + //遍历检测语法 + $patterns = explode("\n",$_POST['username_retain']); + foreach($patterns as $pattern){ + if (@preg_match($pattern, '') === false) { + msg(-1,'正则表达式语法错误,请检查'); + } + } + if(!is_subscribe('bool')){ + msg(-1,'未检测到有效授权'); + } + write_global_config('username_retain',$_POST['username_retain'],'账号保留'); + msg(1,'保存成功'); } } diff --git a/system/click.php b/system/click.php index 57a683a..59e8ab8 100644 --- a/system/click.php +++ b/system/click.php @@ -1,4 +1,4 @@ -UID,'k'=>'s_site'])); $site['Title'] = $site['title'].(empty($site['subtitle'])?'':' - '.$site['subtitle']); //免费用户请保留版权,谢谢! -$copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; +$copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; $ICP = empty($global_config['ICP'])?'':''.$global_config['ICP'].''; $favicon = ( !empty($site['site_icon_file'])) ? $site['site_icon'] : './favicon.ico'; diff --git a/system/index.php b/system/index.php index 93e8812..96d107b 100644 --- a/system/index.php +++ b/system/index.php @@ -1,4 +1,4 @@ -UID,'k'=>'s_site'])); $site['Title'] = $site['title'].(empty($site['subtitle'])?'':' - '.$site['subtitle']); //免费用户请保留版权,谢谢! -$copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; +$copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; $ICP = empty($global_config['ICP'])?'':''.$global_config['ICP'].''; $favicon = ( !empty($site['site_icon_file'])) ? $site['site_icon'] : './favicon.ico'; //读取默认模板信息 diff --git a/system/login.php b/system/login.php index d6d00d2..8762e77 100644 --- a/system/login.php +++ b/system/login.php @@ -5,7 +5,7 @@ require "./system/templates.php"; if($_SERVER['REQUEST_METHOD'] === 'GET'){ require DIR ."/system/templates.php"; $t_path = DIR ."/templates/login/{$s_templates['login']}/index.php"; //模板路径 - $copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; + $copyright = empty($global_config['copyright'])?'Copyright © TwoNav':$global_config['copyright']; $ICP = empty($global_config['ICP'])?'':''.$global_config['ICP'].''; //检查是否存在,不存在则使用默认 if(!is_file($t_path)){ diff --git a/system/version.txt b/system/version.txt index e7fbcc0..c1c6da4 100644 --- a/system/version.txt +++ b/system/version.txt @@ -1 +1 @@ -v2.0.14-20230420 \ No newline at end of file +v2.0.15-20230422 \ No newline at end of file diff --git a/templates/admin/page/expand/guestbook-admin.php b/templates/admin/page/expand/guestbook-admin.php index bbb37fc..5f7fc2a 100644 --- a/templates/admin/page/expand/guestbook-admin.php +++ b/templates/admin/page/expand/guestbook-admin.php @@ -113,7 +113,7 @@ $title='留言管理';require dirname(__DIR__).'/header.php';

  - 删除 + 删除

终端地址: '. $value['ip'] .'
联系方式: '. $value['contact'] .'

'. str_replace("\n","
",str_replace(" "," ",$value['content'])) ; ?>

@@ -134,6 +134,11 @@ layui.use(['layer','element'], function(){ var layer = layui.layer; }); +$('.click').click(function (event) { + event.preventDefault(); + return false; +}); + function del(name) { $.post('',{'type':'del','name':name},function(data,status){ if(data.code == 1) { @@ -154,6 +159,7 @@ function set(key){ } }); } + \ No newline at end of file diff --git a/templates/admin/page/expand/guestbook-user.php b/templates/admin/page/expand/guestbook-user.php index f3d1c02..dcfbd9b 100644 --- a/templates/admin/page/expand/guestbook-user.php +++ b/templates/admin/page/expand/guestbook-user.php @@ -22,7 +22,7 @@
-
TwoNav 极简留言板
+
TwoNav 极简留言板
@@ -59,7 +59,7 @@
- Powered by lm21 + Powered by lm21
diff --git a/templates/admin/page/root/user_control.php b/templates/admin/page/root/user_control.php index cdedb69..67ee4d5 100644 --- a/templates/admin/page/root/user_control.php +++ b/templates/admin/page/root/user_control.php @@ -35,8 +35,9 @@ $user_groups = select_db('user_group',['id','code','name'],''); @@ -122,6 +123,17 @@ layui.use(['table','layer','form'], function () { if (event == 'register') { window.open('./index.php?c='); return; + }else if(event == 'username_retain'){ + index = layer.open({type: 1,scrollbar: false,shadeClose: true,title: '账号保留',area : ['100%', '100%'],content: $('.username_retain')}); + + $.post(get_api('other_root','read_username_retain'),function(data,status){ + if(data.code == 1) { + form.val('username_retain', {"username_retain": data.data}); + }else{ + layer.msg(data.msg, {icon: 5}); + } + }); + return; } var checkStatus = table.checkStatus(obj.config.id); @@ -206,6 +218,20 @@ layui.use(['table','layer','form'], function () { }); return false; }); + //保存账号保留 + form.on('submit(save_username_retain)', function (data) { + $.post(get_api('other_root','write_username_retain'),data.field,function(data,status){ + if(data.code == 1) { + layer.msg(data.msg, {icon: 1}); + }else{ + layer.msg(data.msg, {icon: 5}); + } + }); + return false; + }); + + + }); + +