from flask import * from datetime import timedelta import sqlite3,time,os import config app = Flask(__name__) app.config['SECRET_KEY'] = os.urandom(24) data_base = config.data_base @app.route('/') def hello_world(): return 'hello world' user_list = [[config.password,config.username]] def timenow(timepoint):#转换时间戳 timeArray = time.localtime(timepoint) timetranslate = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) return timetranslate @app.route('/rules/') def rules(): con = sqlite3.connect(data_base) cu = con.cursor() data = cu.execute("select rules,process,ip,time from rules") data_list = [] for rules,process,ip,time in data: rules = rules.replace('\n','<br/>') ip = ip.split('.') ip[2] = '*' ip[3] = '*' ip = '.'.join(ip) time = timenow(time) data_list.append([rules,process,ip,time]) cu.close() con.close() data_list = list(reversed(data_list))#反转列表,最新的在最前面 return render_template('rules.html',data=data_list) @app.route('/rules/login/',methods=['POST','GET']) def rules_login(): if session.get('username'): return redirect(url_for('rules_modify')) else: if request.method=='GET': return render_template('rules_login.html') else: username = request.form.get('username') password = request.form.get('password') print(username,password) if [password,username] in user_list: session['username'] = username#登陆成功设置session session.permanent = True# app.permanent_session_lifetime = timedelta(minutes=10)#设置session到期时间 return redirect(url_for('rules_modify')) else: return render_template('rules_login.html') @app.route('/rules/modify/',methods=['POST','GET']) def rules_modify(): if session.get('username'): con = sqlite3.connect(data_base) cu = con.cursor() data = cu.execute("select rules,process,ip,time,version from rules") data_list = [] for rules,process,ip,time,version in data: rules = rules.replace('\n','<br/>') data_list.append([rules,process,ip,time,version]) cu.close() con.close() if request.method=='GET': data_list = list(reversed(data_list))#反转列表,最新的在最前面 return render_template('rules_modify.html',data=data_list) else: #print(data_list) data_post = str(request.form) # 如果是get请求就用args data_post = data_post.replace('ImmutableMultiDict', '') data_post = tuple(eval(data_post)) data_temp = [] for i in data_post: data_temp.append(i[0]) print(data_temp) for i in data_temp: con = sqlite3.connect(data_base) cu = con.cursor() data = cu.execute("delete from rules where time = {}".format(i)) con.commit() data = cu.execute("select rules,process,ip,time,version from rules") data_list = [] for rules,process,ip,time,version in data: rules = rules.replace('\n','<br/>') data_list.append([rules,process,ip,time,version]) cu.close() con.close() data_list = list(reversed(data_list))#反转列表,最新的在最前面 return render_template('rules_modify.html',data=data_list) else: return redirect(url_for('rules_login')) if __name__=='__main__': app.run(host='0.0.0.0',port=config.web_port)