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两种加密方式,生成的公钥私 ...
随机推荐
- Innodb之事务
目录 一.事务基本概念 事务的特性:ACID 事务类型 1.扁平事务 2.带保存点的扁平事务 3.链式事务 4.嵌套事务 5.分布式事务 二.事务的实现概述 三.redo log 1)组成 2)red ...
- 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)
需求 1.键鼠控制,承担ui界面设计,布局兼容分辨率1024x768 ~ 1920x1080. 2.权限控制:三种权限,分为管理员(可以定制模块界面,修改产品名称等定制化软件和其他权限,同时具备 ...
- 【LeetCode回溯算法#09】全排列,排列问题以及其中涉及的去重操作
全排列 力扣题目链接 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1, ...
- 【LeetCode链表#10】删除链表中倒数第n个节点(双指针)
删除链表倒数第N个节点 力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:he ...
- 关于Python中math 和 decimal 模块的解析与实践
本文分享自华为云社区<Python数学模块深度解析与实战应用>,作者: 柠檬味拥抱. 在Python中,math 和 decimal 模块是处理数学运算的重要工具.math 提供了一系列常 ...
- 【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token
问题描述 在ADF(Azure Data Factory)中,调用Azure Function App中的Function,遇见了 Failed to get MI access token Ther ...
- Mapbox实战项目(1)-栅格图片图层实现地图方位展示
需求背景 需要实现地图上展示一个类似于罗盘的标记,随着地图的缩放.切换.旋转等,能够在地图的中央指示出地图的方位. 系统自带的方位控件太小,在特殊业务场景下不够醒目. 技术选型 Mapbox 实现分析 ...
- sed 资源
sed教程 菜鸟教程正则 MDN正则 正则测试工具 文本替换 s sed有多种分割符,比如你要替换路径字符串时,使用反斜杠很难看,则可以用 : 或者 _ 或者 | 这三个符号都可作为分隔符. & ...
- Zabbix“专家坐诊”第182期问答汇总
问题一: Q:像烽火.浪潮这种没有ilo的设备怎么监控他们的硬件状态呢? A:如果没有ilo,可以使用其他硬件监控软件,例如HP Insight Manager.IBM Director.Dell O ...
- day02-Spring基本介绍02
Spring基本介绍02 5.简单模拟Spring基于XML配置的程序 5.1需求说明 自己写一个简单的Spring容器,通过读取beans.xml,获取第一个Javabean:Monster的对象, ...