Python---flask框架实现免密登录功能
思路总结:
html代码:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
7 <link rel="stylesheet" href="../static/css/login.css">
8 <script src="../static/js/jquery-1.7.2.min.js"></script>
9 <script src="../static/js/register.js"></script>
10 <title>树懒电影登录</title>
11 <script >
12 </script>
13 </head>
14 <body>
15 <div id="container">
16 <div id="container-child">
17 <div id="img-div"><img src="../static/img/shulan.png"></div>
18 <div id="login-div">
19 <div>
20 <p class="p-title">登录您的树懒电影</p>
21 <form id="login-form" method="post">
22 <div class="input-d">
23 <input class="input-text" type="text" name="userphone" id="userphone" placeholder="请输入您的账号">
24 </div>
25 <div class="input-d">
26 <input class="input-text" type="password" name="password" id="password" placeholder="请输入您的密码">
27 </div>
28 <div class="div-input">
29 <div>
30 <input type="checkbox" value=“1” class=“remeber” onclick="onClickHander(this)">
31 <label>记住密码</label>
32 </div>
33 </div>
34 <button type="button" class="login-button" onclick="login_()">登 录</button>
35 <div class="footer"> <a href="http://127.0.0.1:5000/regis">注册</a> | <a href="http://127.0.0.1:5000/reset">忘记密码</a></div>
36 </form>
37 </div>
38 </div>
39 </div>
40 </div>
41 </body>
42 </html>
43 <script>
44 var cb=0
45 function onClickHander(obj) {
46 if(obj.checked==true){
47 cb=1
48 // alert(cb)
49 }else{
50 cb=0
51 // alert(cb)
52 }
53 }
54 function login_(){
55 var userphone=document.getElementById("userphone").value
56 var password=document.getElementById("password").value
57 // alert(cb)
58 $.ajax({
59 url: "/web_login",
60 data: {
61 userphone:userphone,password:password,cb:cb
62 },
63 success: function (data) {
64 //正常验证失败弹窗
65 if (data.data == 0)
66 alert("账号或密码错误!")
67 //验证成功,返回response
68 if (data.data != 0)
69 window.open("http://127.0.0.1:5000/show","_self")
70 },
71 error: function (xhr, type, errorThrown) {
72 print("登录js,验证账号密码ajax请求失败!")
73 }
74 })
75 }
76 </script>
Python路由
1 #免密登录
2 @app.route('/web_login/',methods=['GET', 'POST'])
3 def web_login():
4 userphone = request.values.get('userphone')
5 password=request.values.get('password')
6 cb=request.values.get('cb')
7 print("是否记住密码: "+cb) #cb的返回值类型是 str 字符串
8 # print(type(cb))
9 print("登录账号:"+userphone+" "+"密码:"+password)
10 res=sql.web_login(userphone,password)
11 if(res==True):
12 session['userphone'] = userphone
13 if(cb=="1"):
14 print("开始存储cookie登录账号:" + userphone + " " + "密码:" + password)
15 resp = make_response('储存cookie')
16 resp.set_cookie('cookphone', userphone, max_age=3600 * 24 * 15)
17 resp.set_cookie('cookpass', password, max_age=3600 * 24 * 15)
18 print("登录成功且用户选择记住密码,返回response")
19 return resp #登录成功且用户选择记住密码,返回response
20 else:
21 print("登录成功 返回 1 状态码")
22 return jsonify({"data": 1}) # 登录成功 返回 1 状态码
23 else:
24 print("登录失败 返回 0 状态码")
25 return jsonify({"data":0}) #登录失败 返回 0 状态码
数据库验证登录
1 # 用户(web)登录验证
2 def web_login(userphone, password):
3 cursor = None
4 conn = None
5 res=[]
6 if(userphone==None or password==None):
7 return False
8 conn, cursor = get_conn()
9 sql = "select userphone,userpass from userdata where '"+userphone+"'=userphone and '"+password+"'=userpass "
10 res=query(sql)
11 conn.commit()
12 if(len(res)==0):
13 print("登陆失败(WEB)")
14 close_conn(conn, cursor)
15 return False
16 else:
17 close_conn(conn, cursor)
18 print("登陆成功(WEB)")
19 return True
Python---flask框架实现免密登录功能的更多相关文章
- Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块
这是一篇系列博文,我将使用Abp.Zero搭建一套集成手机号免密登录验证与号码绑定功能的用户系统: Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块 Abp.Zero 手机号 ...
- Shell脚本实现SSH免密登录及批量配置管理
本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...
- Hadoop起步之图解SSH、免密登录原理和实现
1. 前言 emmm….最近学习大数据,需要搭建Hadoop框架,当弄好linux系统之后,第一件事就是SSH免密登录的设置.对于SSH,我觉得使用过linux系统的程序员应该并不陌生.可是吧,用起来 ...
- selenium操作cookies实现免密登录,自动发微博
一直想用selenium实现个小功能,比如发微博之类的,但是有的网站在登录会有验证码,没想到太好的方法解决,于是想到利用cookies来登录网站 第一步:获取一个可用的cookies,获取的cooki ...
- 批量实现ssh免密登录
本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...
- #3使用html+css+js制作网页 番外篇 使用python flask 框架 (II)
#3使用html+css+js制作网页 番外篇 使用python flask 框架 II第二部 0. 本系列教程 1. 登录功能准备 a.python中操控mysql b. 安装数据库 c.安装mys ...
- #3使用html+css+js制作网页 番外篇 使用python flask 框架 (I)
#3使用html+css+js制作网页 番外篇 使用python flask 框架(I 第一部) 0. 本系列教程 1. 准备 a.python b. flask c. flask 环境安装 d. f ...
- linux(十)配置ssh免密登录实现
知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...
- Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝
本文所用系统为 Ubuntu 18.04 什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...
- Linux入门——SSH免密登录
SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...
随机推荐
- 解决webservice接口调用报错:java.lang.ClassFormatError: Absent Code ... javax/mail/internet/MimeMultip
今天使用java axis调用.net发布的webservice接口报了个错,排查半天,感觉代码逻辑没问题,最后发现是jar包冲突!!! 调用接口相关代码: String url="http ...
- SpringBoot整合Groovy脚本,实现动态编程
Groovy简介 Groovy 是增强 Java 平台的唯一的脚本语言.它提供了类似于 Java 的语法,内置映射(Map).列表(List).方法.类.闭包(closure)以及生成器.脚本语言不会 ...
- 利用BARK和Telebot进行VPS实时预警推送
前言 在服务器的日常维护和蓝队的日常监控中,经常需要对服务器出现的各种问题进行及时的预警推送.国外的服务器推荐使用telebot,而国内由于特殊的网络环境,则推荐使用BARK.Chanify等进行推送 ...
- ZYNQ核心板及其底板开源啦!
Hello-FPGA ZYNQ 设计开源啦! 开源ZYNQ核心板 + 底板 硬件设计.软件设计,软件设计使用裸机演示,演示了如何使用AXI DMA等关键dma 模块 欢迎加QQ 讨论 94755958 ...
- 【Azure API 管理】APIM关闭开发者门户的办法
问题描述 APIM默认提供了开发者门户,可以让用户体验如何来调用接口.但如果不想开发这个功能的情况下,是否有办法关闭呢? 问题解答 答案是:开发人员门户是没有办法关闭的.但是作为另一种的代替方案,如自 ...
- 协程的async使用
async与launch一样都是开启一个协程,但是async会返回一个Deferred对象,该Deferred也是一个job async函数类似于 launch函数.它启动了一个单独的协程,这是一个轻 ...
- 文心一言 VS 讯飞星火 VS chatgpt (207)-- 算法导论15.4 4题
四.说明如何只使用表 c 中 2*min(m,n) 个表项及O(1)的额外空间来计算LCS的长度.然后说明如何只用 min(m,n) 个表项及O(1)的额外空间完成相同的工作.要写代码的时候,请用go ...
- ip 表单验证 vue iview
ip 表单验证 vue iview template <Row v-show="config.bindIP"> <Col span="12"& ...
- gyroflow.xyz - 视频防抖 支持相机 gopro 不支持手机视频 - 软件推荐
gyroflow.xyz - 视频防抖 支持相机 gopro 不支持手机视频 - 软件推荐 https://gyroflow.xyz/ https://github.com/gyroflow/gyro ...
- PV的回收策略、访问策略和状态
PersistentVolume(PV)的回收策略.访问策略和状态是Kubernetes存储管理中的重要概念. 回收策略 Retain:当PV的回收策略设置为Retain时,即使对应的Persiste ...