From d2f1064065f1479335b4d4256594dc9497d88b0a Mon Sep 17 00:00:00 2001 From: kpt <2817151932@qq.com> Date: Wed, 3 Jul 2024 18:23:43 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90user.py=E3=80=91=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E6=96=B9=E5=BC=8F=E8=B0=83=E6=95=B4=E4=B8=BA?= =?UTF-8?q?=E5=93=88=E5=B8=8C=E5=8A=A0=E7=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- views/user/user.py | 52 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/views/user/user.py b/views/user/user.py index d9f7924..303605a 100644 --- a/views/user/user.py +++ b/views/user/user.py @@ -1,48 +1,68 @@ import time -from flask import Blueprint, redirect, render_template, request,Flask, session +import hashlib +from flask import Blueprint, redirect, render_template, request, Flask, session from utils.query import query from utils.errorResponse import errorResponse +hash_with_salt = hashlib.sha256('XiaoXueQi2024'.encode('utf-8')) +ub = Blueprint('user', + __name__, + url_prefix='/user', + template_folder='templates') -ub = Blueprint('user',__name__,url_prefix='/user',template_folder='templates') -@ub.route('/login',methods=['GET','POST']) +@ub.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'GET': return render_template('login.html') else: + def filter_fn(user): - return request.form['username'] in user and request.form['password'] in user + hash_with_salt.update(request.form['password'].encode('utf-8')) + return request.form[ + 'username'] in user and hash_with_salt.hexdigest in user + users = query('select * from user', [], 'select') - login_success = list(filter(filter_fn,users)) - if not len(login_success):return errorResponse('账号或密码错误') + login_success = list(filter(filter_fn, users)) + if not len(login_success): return errorResponse('账号或密码错误') session['username'] = request.form['username'] return redirect('/page/home') - -@ub.route('/register',methods=['GET','POST']) + + +@ub.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'GET': return render_template('register.html') else: - if request.form['password'] != request.form['checkPassword']:return errorResponse('两次密码不符合') + if request.form['password'] != request.form['checkPassword']: + return errorResponse('两次密码不符合') + def filter_fn(user): return request.form['username'] in user - users = query('select * from user',[],'select') - filter_list = list(filter(filter_fn,users)) + users = query('select * from user', [], 'select') + filter_list = list(filter(filter_fn, users)) if len(filter_list): return errorResponse('该用户名已被注册') else: time_tuple = time.localtime(time.time()) - query(''' + hash_with_salt.update(request.form['password'].encode('utf-8')) + query( + ''' insert into user(username,password,createTime) values(%s,%s,%s) - ''',[request.form['username'],request.form['password'],str(time_tuple[0]) + '-' + str(time_tuple[1]) + '-' + str(time_tuple[2])]) + ''', [ + request.form['username'], + hash_with_salt.hexdigest(), + str(time_tuple[0]) + '-' + str(time_tuple[1]) + '-' + + str(time_tuple[2]) + ]) return redirect('/user/login') - + + @ub.route('/logOut') def logOut(): - session.clear() - return redirect('/user/login') \ No newline at end of file + session.clear() + return redirect('/user/login')