From c2a8b9523143ef19b122de2850fff86e7d1bfb79 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Sun, 10 Nov 2024 13:19:03 +0800 Subject: [PATCH] update --- panel_tools.py | 2 +- web/admin/setting/setting.py | 31 +++++- web/static/app/config.js | 187 +++++++++++++++++------------------ web/thisdb/user.py | 7 ++ 4 files changed, 130 insertions(+), 97 deletions(-) diff --git a/panel_tools.py b/panel_tools.py index ef4416085..731174d94 100755 --- a/panel_tools.py +++ b/panel_tools.py @@ -23,7 +23,7 @@ web_dir = os.getcwd() + "/web" os.chdir(web_dir) sys.path.append(web_dir) -from utils.firewall import firewall as MwFirewall +from utils.firewall import Firewall as MwFirewall import core.mw as mw import thisdb diff --git a/web/admin/setting/setting.py b/web/admin/setting/setting.py index 3b2d81a0f..727ef6169 100644 --- a/web/admin/setting/setting.py +++ b/web/admin/setting/setting.py @@ -15,8 +15,7 @@ import os from flask import Blueprint, render_template from flask import request -from admin import model - +from admin import session from admin.user_login_check import panel_login_required @@ -203,6 +202,34 @@ def set_ipv6_status(): mw.restartMw() return mw.returnData(True, '设置成功!') +# 设置面板用户 +@blueprint.route('/set_name', endpoint='set_name', methods=['POST']) +@panel_login_required +def set_name(): + name1 = request.form.get('name1', '') + name2 = request.form.get('name2', '') + if name1 != name2: + return mw.returnData(False, '两次输入的用户名不一致,请重新输入!') + if len(name1) < 3: + return mw.returnData(False, '用户名长度不能少于3位') + thisdb.setUserByName(session['username'], name1) + session['username'] = name1 + return mw.returnData(True, '用户修改成功!') + +@blueprint.route('/set_password', endpoint='set_password', methods=['POST']) +@panel_login_required +def set_password(): + password1 = request.form.get('password1', '') + password2 = request.form.get('password2', '') + if password1 != password2: + return mw.returnData(False, '两次输入的密码不一致,请重新输入!') + if len(password1) < 5: + return mw.returnData(False, '用户密码不能小于5位!') + + thisdb.setUserPwdByName(session['username'], password1) + return mw.returnData(True, '密码修改成功!') + + # 设置站点状态 @blueprint.route('/set_port', endpoint='set_port', methods=['POST']) @panel_login_required diff --git a/web/static/app/config.js b/web/static/app/config.js index b3c662b9c..ac64e1822 100755 --- a/web/static/app/config.js +++ b/web/static/app/config.js @@ -310,126 +310,125 @@ function modifyAuthPath() { }); } -function setPassword(a) { - if(a == 1) { - p1 = $("#p1").val(); - p2 = $("#p2").val(); - if(p1 == "" || p1.length < 8) { - layer.msg('面板密码不能少于8位!', {icon: 2}); - return - } - - //准备弱口令匹配元素 - var checks = ['admin888','123123123','12345678','45678910','87654321','asdfghjkl','password','qwerqwer']; - pchecks = 'abcdefghijklmnopqrstuvwxyz1234567890'; - for(var i=0;i\ + btn:["修改","关闭","随机"], + content: "
\
\ 密码\ -
\ +
\
\
\ 重复\ -
\ -
\ -
\ - 随机\ - \ - \ +
\
\ -
" + ", + yes:function(){ + var p1 = $("#p1").val(); + var p2 = $("#p2").val(); + if(p1 == "" || p1.length < 8) { + layer.msg('面板密码不能少于8位!', {icon: 2}); + return + } + + //准备弱口令匹配元素 + var checks = ['admin888','123123123','12345678','45678910','87654321','asdfghjkl','password','qwerqwer']; + pchecks = 'abcdefghijklmnopqrstuvwxyz1234567890'; + for(var i=0;i\ + btn:["确定","取消","随机"], + content: "
\
用户名\ -
\ +
\
\
\ 重复\ -
\ +
\
\ -
\ - \ - \ -
\ -
" + ", + yes: function(){ + p1 = $("#p1").val(); + p2 = $("#p2").val(); + if(p1 == "" || p1.length < 3) { + layer.msg('用户名长度不能少于3位', {icon: 2}); + return; + } + if(p1 != p2) { + layer.msg('两次输入的用户名不一致', {icon: 2}); + return; + } + $.post("/setting/set_name", "name1=" + encodeURIComponent(p1) + "&name2=" + encodeURIComponent(p2), function(b) { + if(b.status) { + layer.closeAll(); + layer.msg(b.msg, {icon: 1}); + $("input[name='username_']").val(p1) + } else { + layer.msg(b.msg, {icon: 2}); + } + },'json'); + return + }, + btn3:function(){ + var pwd = randomStrPwd(12); + $("#p1").val(pwd); + $("#p2").val(pwd); + layer.msg('请在修改前记录好您的用户名!',{time:2000}); + return false; + } }) } diff --git a/web/thisdb/user.py b/web/thisdb/user.py index 3cbaa4bc2..ebf74532a 100644 --- a/web/thisdb/user.py +++ b/web/thisdb/user.py @@ -88,6 +88,13 @@ def updateUserLoginTime(): mw.M('users').field(__field).where('id=?', (1,)).update({'login_time':now_time}) return True +def setUserByName(name, new_name): + return mw.M('users').where("name=?", (name,)).setField('name', new_name.strip()) + +def setUserPwdByName(name, password): + pwd = mw.md5(password) + return mw.M('users').where("name=?", (name,)).setField('password', pwd) + def setUserByRoot( name: str | None = None, password: str | None = None,