广告
返回顶部
首页 > 资讯 > 精选 >flask框架如何实现修改密码和免密登录功能
  • 704
分享到

flask框架如何实现修改密码和免密登录功能

2023-06-15 04:06:09 704人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关flask框架如何实现修改密码和免密登录功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。修改密码功能数据库部分:#重置密码def reset_pass(phone,

这篇文章将为大家详细讲解有关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页面:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta Http-equiv="X-UA-Compatible" content="ie=edge">    <title>树懒电影---重置您的密码</title>    <style type="text/CSS">        #resetfORM{            margin-top: 350px;            margin-left: 750px;        }    </style></head><body>    <form method="post" id="resetform">        <tr>            <td><input type="text" id="userphone" value="" placeholder="输入您的手机号码"></td>        </tr><br>        <tr>            <td><input type="password" id="resetpass1" value="" placeholder="输入您的新密码"></td>        </tr><br>        <tr>            <td><input type="password" id="resetpass2" value="" placeholder="再次输入您的新密码"></td>        </tr><br>        <tr>            <td><input type="reset" value="清空"></td>            <td><input type="button" id="resetbtn" onclick="resetpass()" value="提交"></td>        </tr>    </form></body></html><script src="../static/js/Jquery.min.js"></script><script type="text/javascript">    function resetpass(){        var userphone=document.getElementById("userphone").value        var resetpass1=document.getElementById("resetpass1").value        var resetpass2=document.getElementById("resetpass2").value        var submit_flag=1        //判空        if((userphone.length==0)||(resetpass1.length==0)||(resetpass2.length==0)){            submit_flag=0            alert("请把信息填写完整!")        }        //判断密码一致性        if(resetpass2!=resetpass1){            submit_flag=0            alert("两次填写的密码不一致")            document.getElementById("resetpass1").focus();        }        //判断手机号        if(userphone.length!=11){            submit_flag=0            alert("手机号码应为11位!")            document.getElementById("userphone").focus();        }        var regu =  /^1[3456789]\d{9}$/        if(!(regu.test(userphone)) ){            submit_flag=0            alert("手机号码格式有误!")            document.getElementById("userphone").focus();        }        //判断密码格式        if(!((resetpass1.length>=6)&&resetpass1.length<=18))        {            submit_flag=0            alert("密码长度应该为6-16位!")            document.getElementById("resetpass1").focus();        }            var regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z]).{6,18}');            part_pass=resetpass1.split(" ")        if((!(regex.test(resetpass1))) || part_pass.length!=1)        {            submit_flag=0            alert("密码为数字+英文字母 且不可以包含空格!")            document.getElementById("resetpass1").focus();        }        //发起请求            if(submit_flag==1)        {            $.ajax({                url:"/resetpass",                data:{userphone:userphone,resetpass:resetpass2},                success: function (data) {                    if (data.data==1)                    {                        alert("密码修改成功!")                        window.open("/",'_self')                    }                    else                    {                        alert("修改密码失败!请重试")                    }                },                error: function (xhr, type, errorThrown) {                    // print("ajax请求失败!")                }            })        }        // alert(submit_flag)    }</script>

免密登录

html代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <link rel="stylesheet" href="../static/css/login.css" rel="external nofollow" >    <script src="../static/js/jquery-1.7.2.min.js"></script>    <script src="../static/js/reGISter.js"></script>    <title>树懒电影登录</title>    <script >    </script></head><body>    <div id="container">        <div id="container-child">            <div id="img-div"><img src="../static/img/shulan.png"></div>            <div id="login-div">                <div>                    <p class="p-title">登录您的树懒电影</p>                    <form id="login-form" method="post">                        <div class="input-d">                            <input class="input-text" type="text" name="userphone" id="userphone" placeholder="请输入您的账号">                        </div>                        <div class="input-d">                            <input class="input-text" type="password" name="password" id="password" placeholder="请输入您的密码">                        </div>                        <div class="div-input">                            <div>                                <input type="checkbox" value=“1” class=“remeber” onclick="onClickHander(this)">                                <label>记住密码</label>                            </div>                        </div>                        <button type="button" class="login-button" onclick="login_()">登 录</button>                        <div class="footer"> <a href="http://127.0.0.1:5000/regis" rel="external nofollow" >注册</a> | <a href="http://127.0.0.1:5000/reset" rel="external nofollow" >忘记密码</a></div>                    </form>                </div>            </div>        </div>    </div></body></html><script>    var cb=0    function onClickHander(obj) {        if(obj.checked==true){            cb=1            // alert(cb)        }else{            cb=0            // alert(cb)        }    }    function login_(){        var userphone=document.getElementById("userphone").value        var password=document.getElementById("password").value        // alert(cb)        $.ajax({                url: "/WEB_login",                data: {                    userphone:userphone,password:password,cb:cb                },                success: function (data) {                    //正常验证失败弹窗                    if (data.data == 0)                        alert("账号或密码错误!")                    //验证成功,返回response                    if (data.data != 0)                        window.open("http://127.0.0.1:5000/show","_self")                },                error: function (xhr, type, errorThrown) {                    print("登录js,验证账号密码ajax请求失败!")                }        })    }</script>

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框架如何实现修改密码和免密登录功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: flask框架如何实现修改密码和免密登录功能

本文链接: https://www.lsjlt.com/news/277799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • flask框架实现修改密码和免密登录功能
    目录修改密码功能免密登录修改密码功能 数据库部分: #重置密码 def reset_pass(phone,password): conn,cursor=get_conn(...
    99+
    2022-11-12
  • flask框架如何实现修改密码和免密登录功能
    这篇文章将为大家详细讲解有关flask框架如何实现修改密码和免密登录功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。修改密码功能数据库部分:#重置密码def reset_pass(phone,...
    99+
    2023-06-15
  • php怎么实现修改登录密码功能?(代码示例)
    在网站开发中,用户账号系统是必不可少的一部分,而安全性是其核心之一。为了保障用户的账号安全,提供修改登录密码的功能是非常必要的。实现这一功能需要编写一些代码,下面我们来了解一下如何编写修改登录密码的 PHP 代码。首先,我们需要建立一个修改...
    99+
    2023-05-14
  • AngularJS如何实现用户修改密码功能
    这篇文章主要介绍AngularJS如何实现用户修改密码功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:最近在做前端设计,主要使用的知识有AngularJS和nodejs来...
    99+
    2022-10-19
  • Vue如何实现登录记住账号密码功能
    本篇内容主要讲解“Vue如何实现登录记住账号密码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何实现登录记住账号密码功能”吧!实现思路用户登录时若勾选“记住我”功能选项,则将登录名和...
    99+
    2023-06-21
  • Springboot实现邮箱验证码注册与修改密码及登录功能详解流程
    目录前言一、SpringBoot依赖1、pom.xml文件2、Applications.yaml二、数据库文件三、实现注册功能四、找回密码功能五、登录功能总结前言 最近Springb...
    99+
    2022-11-16
    Springboot邮箱验证码 Springboot修改密码 Springboot登陆功能
  • 如何实现Centos6.5中ssh免密码登录配置
    本篇内容介绍了“如何实现Centos6.5中ssh免密码登录配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!0.说明这里为了方便说明问题,...
    99+
    2023-06-10
  • CSS如何实现记录用户密码功能
    这篇文章将为大家详细讲解有关CSS如何实现记录用户密码功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。简单的CSS代码,甚至不符合图灵完备的语言,但是也能成为一些攻击者...
    99+
    2022-10-19
  • 如何实现Oracle11g用户修改密码及加锁解锁功能
    小编给大家分享一下如何实现Oracle11g用户修改密码及加锁解锁功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.运行 c...
    99+
    2022-10-18
  • springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)
    1. 首先新建一个shiroConfig shiro的配置类,代码如下: @Configuration public class SpringShiroConfig { ...
    99+
    2022-11-12
  • Android如何实现登陆界面的记住密码功能
    这篇文章主要介绍“Android如何实现登陆界面的记住密码功能”,在日常操作中,相信很多人在Android如何实现登陆界面的记住密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android如何实现登陆...
    99+
    2023-06-30
  • 如何申请云服务器开通账号和密码登录功能
    要申请云服务器开通账号和密码登录功能,首先需要了解云服务器的开通方式。一般情况下,云服务器都提供两种开通方式,一种是通过企业用户名和密码登录,另一种是通过第三方平台账号登录。下面分别介绍两种开通方式。 企业用户名和密码登录 企业用户名...
    99+
    2023-10-28
    账号 密码 功能
  • LocalStorage如何实现记住用户和密码功能
    这篇文章主要介绍了LocalStorage如何实现记住用户和密码功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 随着HTML5...
    99+
    2022-10-19
  • Android中怎么利用SharedPreferences实现自动登录记住用户名和密码功能
    本篇文章为大家展示了Android中怎么利用SharedPreferences实现自动登录记住用户名和密码功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SharedPreferences简介Sh...
    99+
    2023-05-31
    android sharedpreferences
  • shell脚本如何通过expect实现自动单边无密登录功能
    这篇文章主要介绍了shell脚本如何通过expect实现自动单边无密登录功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:EXPECT=/usr/bin/expec...
    99+
    2023-06-09
  • Linux下如何实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本
    这篇文章主要介绍了Linux下如何实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境:ssh server: 1...
    99+
    2023-06-09
  • JavaScript如何实现用户名和密码表单校验功能
    这篇文章主要介绍“JavaScript如何实现用户名和密码表单校验功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现用户名和密码表单校验功能”文章能帮助大家解决问题。代码...
    99+
    2023-07-04
  • 微信小程序如何实现6位或多位验证码密码输入框功能
    小编给大家分享一下微信小程序如何实现6位或多位验证码密码输入框功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、效果图如下:...
    99+
    2022-10-19
  • 如何实现el-input标签中密码的显示和隐藏功能
    这篇文章将为大家详细讲解有关如何实现el-input标签中密码的显示和隐藏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果展示:  密码隐藏:  密码显示:代码展示...
    99+
    2022-10-19
  • 如何实现禁用IE10的密码明文显示和快速清除功能
    这篇文章主要介绍“如何实现禁用IE10的密码明文显示和快速清除功能”,在日常操作中,相信很多人在如何实现禁用IE10的密码明文显示和快速清除功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现禁用IE1...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作