def vpnupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() #vpn详情 field = ["id","name","term","used","create_date","expire_date","owner","status"] if request.method=='GET': vpnid = request.args.get('id') data={'id':vpnid} result = getone(table_name,data,field) return json.dumps(result['msg'],default=datetime_handler) #超级管理员编辑vpn,更新vpn信息 else: field = ["name","term","used","create_date","expire_date","owner","status"] user = {k:v[0] for k,v in dict(request.form).items()} #简单校验expire日期输入格式是否正确 expire_check = user['expire_date'] if not re.match(r'^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$',expire_check): result ={'code':1, 'msg':"失效日期格式错误"} return json.dumps(result) else: result = _update(table_name,field,user) if result['code'] == 0: result ={'code':0, 'msg':"更新成功"} else: result ={'code':1, 'msg':"更新失败"} return json.dumps(result)
def resetpwdone(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() field = [ "id", "username", "name_cn", "password", "mobile", "email", "role", "status" ] if request.method == 'GET': userid = request.args.get('id') data = {'id': userid} result = getone('user', data, field) return json.dumps(result['msg']) else: chpwd = {k: v[0] for k, v in dict(request.form).items()} chpwd['newpasswd'] = hashlib.md5(chpwd['newpasswd'] + salt).hexdigest() #重置密码只需校验用户id,无需校验旧密码 where = {'id': chpwd['id']} field = ['id'] result = check('user', field, where) if result['code'] == 0: data = {'id': chpwd['id'], 'password': chpwd['newpasswd']} result = _update('user', field, data) else: result = {'code': 1, 'msg': u"重置密码失败!"} return json.dumps(result)
def vpnaudit(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method=='GET': vpnid = request.args.get('id') data={'id':vpnid} field = ['status'] res = getone(table_name,data,field)['msg'] if res['status'] != 0: result ={'code':1, 'msg':"该申请已被审核"} return json.dumps(result) field = ["create_date","expire_date","status"] status = 1 #审核后失效日期增加一年 create_date = datetime.datetime.now() expire_date = create_date + datetime.timedelta(days = 365) create_date = create_date.strftime('%Y-%m-%d') expire_date = expire_date.strftime('%Y-%m-%d') data.update(create_date=create_date,expire_date=expire_date,status=status) if _update(table_name,field,data): #vpn自动开通功能开启,自动生成vpn证书 if config.vpn_fun == 0: if ok: result ={'code':0, 'msg':"审核成功,已自动开通vpn"} else: result ={'code':1, 'msg':"审核成功,自动开通vpn失败"} return json.dumps(result) result ={'code':0, 'msg':"审核成功"} else: result ={'code':1, 'msg':"审核失败"} return json.dumps(result)
def chmessageoneself(): if 'username' not in session: return redirect('/login/') msg = sessioninfo() if request.method == 'POST': field = ["username", "name_cn", "mobile", "email"] user = {k: v[0] for k, v in dict(request.form).items()} result = _update('user', field, user) if result['code'] == 0: result = {'code': 0, 'msg': "add user success"} return json.dumps(result)
def jobupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method=='GET': field = ['id','handle_name','status'] job = {k:v[0] for k,v in dict(request.args).items()} job['handle_name'] = session['username'] job['status'] = 1 result = _update('job',field,job) if result['code'] == 0: result ={'code':0, 'msg':"Job Update success"} return json.dumps(result) if request.method=='POST': job = {k:v[0] for k,v in dict(request.form).items()} field = ['id','handle_desc','status'] job['status'] = 2 result = _update('job',field,job) if result['code'] == 0: result ={'code':0, 'msg':"Job Update success"} return json.dumps(result)
def namedupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method == 'GET': named_id = request.args.get('id') data = {'id': named_id} result = getone('dns_records', data, field) return json.dumps(result['msg']) if request.method == 'POST': data = {k: v[0] for k, v in dict(request.form).items()} result = _update('dns_records', field, data) return json.dumps(result)
def chpwdoneself(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() chpwd = {k: v[0] for k, v in dict(request.form).items()} where = {'id': chpwd['id'], 'password': chpwd['oldpasswd']} field = ['id', 'password'] result = check('user', field, where) if result['code'] == 0: data = {'id': chpwd['id'], 'password': chpwd['newpasswd']} print data result = _update('user', field, data) else: result = {'code': 1, 'msg': u"旧密码不正确请重新输入!"} return json.dumps(result)
def idcupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method=='GET': id = request.args.get('id') data={'id':id} result = getone('idc',data,fields) return json.dumps(result) if request.method=='POST': idc = {k:v[0] for k,v in dict(request.form).items()} print idc result = _update('idc',fields,idc) if result['code'] == 0: return json.dumps(result)
def update(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() field = ["id","username","name_cn","password","mobile","email","role","status"] if request.method=='GET': userid = request.args.get('id') data={'id':userid} result = getone('user',data,field) return json.dumps(result['msg']) else: field = ["username","name_cn","mobile","email","role","status"] user = {k:v[0] for k,v in dict(request.form).items()} result = _update('user',field,user) return json.dumps(result)
def serverupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method=='GET': id = request.args.get('id') data={'id':id} server = getone('server',data,server_fields) idc = list('idc',idc_fields) cabinet = list('cabinet',cabinet_fields) print server return render_template('serverupdate.html',msg=msg,idc=idc['msg'],cabinet=cabinet['msg'],server_list=server['msg']) if request.method=='POST': server = {k:v[0] for k,v in dict(request.form).items()} result = _update('server',server_fields,server) if result['code'] == 0: return json.dumps(result)
def idcupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method == 'GET': id = request.args.get('id') data = {'id': id} result = getone('idc', data, fields) return render_template('idcupdate.html', msg=msg, idc=result['msg']) if request.method == 'POST': idc = {k: v[0] for k, v in dict(request.form).items()} result = _update('idc', fields, idc) if result['code'] == 0: result = {'code': 0, 'msg': "IDC Update success"} return json.dumps(result) return render_template('idcupdate.html', msg=msg)
def chpwdoneself(): if 'username' not in session: return redirect('/login/') msg = sessioninfo() chpwd = {k: v[0] for k, v in dict(request.form).items()} where = {'id': chpwd['id'], 'password': chpwd['oldpasswd']} field = ['id', 'password'] result = check('user', field, where) if result['code'] == 0: data = {'id': chpwd['id'], 'password': chpwd['newpasswd']} result = _update('user', field, data) else: result = { 'code': 1, 'msg': u"The password is rong, please input again." } return json.dumps(result)
def cabinetupdate(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method == 'GET': id = request.args.get('id') data = {'id': id} cabinet = getone('cabinet', data, field) idc = lists('idc', idc_fields) result = {'code': 0, 'idc': idc['msg'], 'cabinet': cabinet['msg']} return json.dumps(result) if request.method == 'POST': cabinet = {k: v[0] for k, v in dict(request.form).items()} print cabinet result = _update('cabinet', field, cabinet) if result['code'] == 0: result = {'code': 0, 'msg': "Update success"} return json.dumps(result)
def vmaudit(): if 'username' not in session: return redirect('/login/') msg = sessionmsg() if request.method == 'GET': vmid = request.args.get('id') data = {'id': vmid} field = ['status'] res = getone(table_name, data, field)['msg'] if res['status'] != 0: result = {'code': 1, 'msg': "该申请已被审核"} return json.dumps(result) field = ['term'] res = getone(table_name, data, field)['msg'] if res['term'] == '12': days = 365 elif res['term'] == '24': days = 730 elif res['term'] == '36': days = 1095 field = ["create_date", "expire_date", "status"] status = 1 #审核后失效日期增加n年 create_date = datetime.datetime.now() expire_date = create_date + datetime.timedelta(days=days) create_date = create_date.strftime('%Y-%m-%d') expire_date = expire_date.strftime('%Y-%m-%d') data.update(create_date=create_date, expire_date=expire_date, status=status) if _update(table_name, field, data): #自动开通功能开启,自动生成虚机 if config.vm_fun == 0: if ok: result = {'code': 0, 'msg': "审核成功,虚机已自动生成"} else: result = {'code': 1, 'msg': "审核成功,虚机自动生成失败"} return json.dumps(result) result = {'code': 0, 'msg': "审核成功"} else: result = {'code': 1, 'msg': "审核失败"} return json.dumps(result)
def updatehost(): if 'username' not in session: return redirect('/login/') field = ['id', 'ip', 'username', 'password'] if request.method == 'GET': id = request.args.get('id') data = {'id': id} result = getone('host', data, field) if result['code'] == 0: return render_template('update-host.html', id=id, msg=result['msg']) else: data = dict((k, v[0]) for k, v in dict(request.form).items()) result = _update('host', field, data) if result['code'] == 0: return '更新成功' else: return '更新失败' return render_template('update-host.html')
def update(): if 'username' not in session: return redirect('/login/') field = ['id', 'username', 'password', 'role'] if request.method == 'GET': userid = request.args.get('id') data = {'id': userid} result = getone('user', data, field) print result if result['code'] == 0: return render_template('user-change.html', id=userid, msg=result['msg']) else: data = {k: v[0] for k, v in dict(request.form).items()} data['password'] = hashlib.md5(data['password'] + salt).hexdigest() result = _update('user', field, data) if result['code'] == 0: return '更新成功' else: return "更新失败" return render_template('user-change.html')
headers = dict(BASE_HEADERS) if 'User-Agent' not in headers.keys(): headers['User-Agent'] = random.choice(USER_AGENT_LIST) for url in PROXY_CHECK_URLS[proxy['schema']]: try: # 使用代理发送请求,获取响应 response = requests.get(url, headers=headers, proxies=proxies, timeout=5) except BaseException: logger.info("使用代理< " + _get_url(proxy) + " > 请求 < " + url + " > 结果: 失败 ") # 根据请求的响应结果更新代理 _update(proxy, successed=False) else: if (response.status_code == 200): logger.info("使用代理< " + _get_url(proxy) + " > 请求 < " + url + " > 结果: 成功 ") # 根据请求的响应结果更新代理 _update(proxy, successed=True) # 将代理返还给队列,返还时不校验可用性 proxy_queue.push(proxy) break else: logger.info("使用代理< " + _get_url(proxy) + " > 请求 < " + url + " > 结果: 失败 ") # 根据请求的响应结果更新代理 _update(proxy, successed=False)