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 访问连接:
4.4 效果:
提交前:
cookie 是空的
提交后:
cookie 里设置了值
未登录,访问 /alias 页面,需要登录后才能访问,如果未登录访问会提示下面错误
登录后,访问 /alias 页面,提示成功(只要不清除cookie,关闭后再打开,还是成功的)
五、清除浏览器 Cookie
5.1 google chrome:
右上角 "三个点" -- 更多工具 -- 清除浏览器数据
5.2 火狐:
右上角 "三个点" -- 设置 -- 隐私与安全 -- Cookie 和网站数据 -- 清除数据
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
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缓存)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!