Python Flask session 内容保存到用户浏览器里

前言全局说明

Python Flask session 内容保存到用户浏览器里


一、安装flask模块

官方源:

pip3 install flask==2.3.2

国内源:

pip3 install flask==2.3.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

以上二选一,哪个安装快用哪个
flask 安装时间 2023-11

更多国内源: https://www.cnblogs.com/wutou/p/17949398


二、引用模块

from flask import Flask

三、启动服务

https://www.cnblogs.com/wutou/p/17949220


四、创建 session

4.1.1 文件名:index.py
from flask import Flask, request, render_template, session, redirect
app=Flask(__name__)
## secret_key 值随意设置,是为了在用户浏览器里产生加密文件的密钥
app.secret_key = 'ALKERJ20934ALKDFJALDFJALKDF'
@app.route('/login', methods=['GET', 'POST'])
def login():
n = request.form.get('name')
p = request.form.get('pwd')
if request.method == 'GET':
## GET请求
return render_template('login.html')
else:
## POST请求
if n == 'admin' and p == 'admin' :
## 用户名和密码正确,则在用户浏览器里创建Cookie
## xxx 可以理解为,存放这个网址用户名信息的 文件名,xxx 文件里存放着 admin 用户
## 一般在其他网站,比如:百度 就把 xxx 改成 baidu.com
session['xxx']='admin'
return redirect(url_for('alias'))
else:
return render_template('login.html', result_err='用户名或密码错误')
@app.route('/alias')
def alias():
username = session.get('xxx')
if not username:
return render_template('login.html', result_err='打开 /alias 页面失败, 没有登陆过,请登陆')
return render_template('login.html', result_ok='Success')
if __name__ == '__main__':
# app.debug = True
# app.run(host='127.0.0.1',port = 5000)
app.run(host='0.0.0.0',port = 5000)
4.2 html文件名:templates/login.html
<html lang="zh-cn">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
</head>
<body>
<form method="post" action="/login">
<label for="name"> 用户名:</label>
<input type="text" name="name" value="admin">
<label for="name"> 密码:</label>
<input type="text" name="pwd" value="admin">
<input type="submit" value="登陆">
</form>
<a>正确的,用户名: admin 密码: admin</a>
{% if result_err %}
<h2>登陆失败:</h2>
<p><font color="#FF0000">{{ result_err }}</font></p>
{% endif %}
<br />
{% if result_ok %}
<h2>登陆成功:</h2>
<p>{{ result_ok }}</p>
{% endif %}
<br />
</body>
</html>
4.3 访问连接:

http://127.0.0.1:5000/login

4.4 效果:

提交前:
image

cookie 是空的


提交后:
image

cookie 里设置了值


未登录,访问 /alias 页面,需要登录后才能访问,如果未登录访问会提示下面错误
image


登录后,访问 /alias 页面,提示成功(只要不清除cookie,关闭后再打开,还是成功的)
image


5.1 google chrome:

右上角 "三个点" -- 更多工具 -- 清除浏览器数据
image

5.2 火狐:

右上角 "三个点" -- 设置 -- 隐私与安全 -- Cookie 和网站数据 -- 清除数据
image





免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://www.bilibili.com/video/BV11Y411h71J?p=5&vd_source=5c2b3f8973a7142edcd392291a47e5ca 07:44 (提交按钮input写法)
https://www.bilibili.com/video/BV11Y411h71J?p=8&vd_source=5c2b3f8973a7142edcd392291a47e5ca 09:55 (清理浏览器cookie缓存)



posted @   悟透  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示