diff --git a/web/admin/dashboard/login.py b/web/admin/dashboard/login.py index ed501568a..fdeb25508 100644 --- a/web/admin/dashboard/login.py +++ b/web/admin/dashboard/login.py @@ -200,9 +200,25 @@ def do_login(): info = thisdb.getUserByName(username) password = mw.md5(password) + if info is None: + msg = mw.getInfo("密码错误,帐号:{1},密码:{2},登录IP:{3}", (username, '******', request.remote_addr)) + if login_cache_limit == None: + login_cache_limit = 1 + else: + login_cache_limit = int(login_cache_limit) + 1 + + if login_cache_limit >= login_cache_count: + thisdb.setOption('admin_close', 'yes') + return mw.returnData(False, '面板已经关闭!') + + cache.set('login_cache_limit', login_cache_limit, timeout=10000) + login_cache_limit = cache.get('login_cache_limit') + mw.writeLog('用户登录', msg) + return mw.returnData(-1, mw.getInfo("用户名或密码错误,您还可以尝试[{1}]次!", (str(login_cache_count - login_cache_limit)))) + # print(info) - if info is None or info['name'] != username or info['password'] != password: - msg = "密码错误,帐号:{1},密码:{2},登录IP:{3}", (('****', '******', request.remote_addr)) + if info['name'] != username or info['password'] != password: + msg = mw.getInfo("密码错误,帐号:{1},密码:{2},登录IP:{3}", (username, '******', request.remote_addr)) if login_cache_limit == None: login_cache_limit = 1 @@ -215,7 +231,7 @@ def do_login(): cache.set('login_cache_limit', login_cache_limit, timeout=10000) login_cache_limit = cache.get('login_cache_limit') - mw.writeLog('用户登录', mw.getInfo(msg)) + mw.writeLog('用户登录', msg) return mw.returnData(-1, mw.getInfo("用户名或密码错误,您还可以尝试[{1}]次!", (str(login_cache_count - login_cache_limit)))) cache.delete('login_cache_limit')