flask中的session
简述session,cookie
session : session和cookie的作用类似,都是为了 存储用户有关的信息,不同的是,cookie是村塾在本地浏览器,session是存储在服务器.存储在服务器的数据相对来说更加安全,不容易被窃取.但储存在服务器有一定的弊端,就是会占用服务器的资源,但现在服务器发展至今,一些session信息还是绰绰有余的.
好处:敏感数据不是直接发给浏览器,而是发送回一个session_id,服务器将session_id和敏感数据做一个映射存储在session中,更加安全
flask中的session工作机制
1 . 把敏感数据经过加密后放入session中,然后再把session存储到cookie中,下次请求的时候,获取cookie中的session,然后再从session中读取敏感数据,并进行解密,获取用户的数据
2 . flask的这种session机制,可以节省服务器的凯西欧啊,因为把所有的信息都存书到了客户端(浏览器)
3 . 数据经过加密是相对安全的
操作session
from flask import Flask,session
import os
app = Flask(__name__)
# 从配置文件读取app.config['SECRET_KEY'] = os.urandom[24]
# app.config['SECRET_KEY'] = os.urandom(24)
#如果设置成随机的,则重新运行时无法获取username,解决方法就是设置一个固定的SECRET_KEY
app.config['SECRET_KEY'] = '123456'
@app.route('/')
def hello_world():
session['username'] = 'zhiliao'
return 'Hello World'
@app.route('/get')
def get_session():
return session.get('username')
@app.route('/delete')
def delete_session():
print(session.get('username'))
session.pop('username')
print(session.get('username'))
return 'success'
@app.route('/clear')
def clear():
print(session.get('username'))
#删除session中的所有数据
session.clear()
print(session.get('username'))
return 'success'
if __name__ == '__main__':
app.run(debug= True)

浙公网安备 33010602011771号