flask框架修改密码和免密登录具体方法

树叶云

本篇文章重点为大家讲解一下flask框架修改密码和免密登录具体方法,有需要的小伙伴可以参考一下。

修改密码功能

数据库部分:

#重置密码
def reset_pass(phone,password):
   conn,cursor=get_conn()
   sql="update userdata set userpass='"+password+"' where userphone='"+phone+"'"
   try:
       print("正在修改密码...")
       resetflag=cursor.execute(sql)
       conn.commit()
       close_conn(conn,cursor)
       if(resetflag==1):
           print("修改成功")
           return 1
       else:
           print("修改失败!")
           return 0
   except:
       print("系统错误...修改密码失败!")
       return 0

路由部分:

#用户修改密码
@app.route('/resetpass',methods=['GET''POST'])
def resetpass():
   userphone=request.values.get('userphone')
   resetpass=request.values.get('resetpass')
   print("路由获得手机号:"+userphone+"\n")
   print("路由获得新密码:" + resetpass + "\n")
   flag=sql.reset_pass(userphone,resetpass)
   if(flag==1):
       return jsonify({"data":1})
   else:
       return jsonify({"data":0})

html页面:

nbsp;html>


   
  "UTF-8">
   
  "viewport" content="width=device-width, initial-scale=1.0">
   
  "X-UA-Compatible" content="ie=edge">
   树懒电影---重置您的密码
   
   
  
   "post" id=
   "resetform">                    
   type=
   "text" id=
   "userphone" value=
   "" placeholder=
   "输入您的手机号码">        
   
                    type= "password" id= "resetpass1" value= "" placeholder= "输入您的新密码">        
                    type= "password" id= "resetpass2" value= "" placeholder= "再次输入您的新密码">        
                    type= "reset" value= "清空">             type= "button" id= "resetbtn" onclick= "resetpass()" value= "提交">            

免密登录

html代码:

nbsp;html>


   
  "UTF-8">
   
  "viewport" content="width=device-width, initial-scale=1.0">
   
  "X-UA-Compatible" content="ie=edge">
   
  "stylesheet" href="../static/css/login.css" rel="external nofollow" >
   
   
   树懒电影登录
   
   
  
   "container">        
   
    "container-child">            
    
     "img-div">
     "../static/img/shulan.png">
                
    
     "login-div">                
     
                          
      

登录您的树懒电影

                    "login-form" method= "post">                                                     type= "text" name= "userphone" id= "userphone" placeholder= "请输入您的账号">                                                                             type= "password" name= "password" id= "password" placeholder= "请输入您的密码">                                                                                                             type= "checkbox" value=“1” class=“remeber” onclick= "onClickHander(this)">                                 记住密码                                                                             type="button" onclick="login_()">登 录                          "http://127.0.0.1:5000/regis" rel= "external nofollow" >注册 | "http://127.0.0.1:5000/reset" rel= "external nofollow" >忘记密码                                                            

Python路由

#免密登录
@app.route('/web_login/',methods=['GET''POST'])
def web_login():
   userphone = request.values.get('userphone')
   password=request.values.get('password')
   cb=request.values.get('cb')
   print("是否记住密码: "+cb)            #cb的返回值类型是 str 字符串
   # print(type(cb))
   print("登录账号:"+userphone+"   "+"密码:"+password)
   res=sql.web_login(userphone,password)
   if(res==True):
       session['userphone'] = userphone
       if(cb=="1"):
           print("开始存储cookie登录账号:" + userphone + "   " + "密码:" + password)
           resp = make_response('储存cookie')
           resp.set_cookie('cookphone', userphone, max_age=3600 * 24 * 15)
           resp.set_cookie('cookpass', password, max_age=3600 * 24 * 15)
           print("登录成功且用户选择记住密码,返回response")
           return resp                   #登录成功且用户选择记住密码,返回response
       else:
           print("登录成功 返回 1 状态码")
           return jsonify({"data": 1})  # 登录成功 返回 1 状态码
   else:
       print("登录失败   返回 0 状态码")
       return jsonify({"data":0})  #登录失败   返回 0 状态码

数据库验证登录

# 用户(web)登录验证
def web_login(userphone, password):
   cursor = None
   conn = None
   res=[]
   if(userphone==None or password==None):
       return False
   conn, cursor = get_conn()
   sql = "select userphone,userpass from userdata where '"+userphone+"'=userphone and '"+password+"'=userpass "
   res=query(sql)
   conn.commit()
   if(len(res)==0):
       print("登陆失败(WEB)")
       close_conn(conn, cursor)
       return False
   else:
       close_conn(conn, cursor)
       print("登陆成功(WEB)")
       return True

以上就是flask框架实现修改密码和免密登录功能的详细内容

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220741.html<

(0)
运维的头像运维
上一篇2025-04-14 17:20
下一篇 2025-04-14 17:21

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注