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

发布时间 2024-01-07 00:32:43作者: 悟透

前言全局说明

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

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 render_template('login.html', result_ok='Success')
        else:
            return render_template('login.html', result_err='用户名或密码错误')

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">

			<label for="name"> 密码:</label>
			<input type="text" name="pwd">
			
			<input type="submit" value="登陆">
		</form>
		{% 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 里设置了值


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缓存)