Flask教程3-session:安全的加密Cookie
Cookie在Web程序中发挥了很大作用,其中最重要功能存储用户认证信息。
但如果直接把认证信息以明文方式存储在Cookie里,那么恶意用户就可以通过伪造cookie的内容来获得对网站权限,冒用别人账户。Flask提供了session对象用来将Cookies数据加密存储。
# -*- coding: utf-8 -*-
from flask import Flask,session
import time,os
app = Flask(__name__)
#这里可以给SECRET_KEY设置一个随机1位字符串:os.urandom(1)
app.config['SECRET_KEY'] = os.urandom(1)
@app.route('/set_session/')
def set_session():
# session本身是个字典,需要直接添加键值对
# 添加session值之前,必须先设置SECRET_KEY
session['username'] = 'bingyan'
return 'session已设置'
@app.route('/get_session/')
def get_session():
# 获取session中的username的值,否则返回'error'
return session.get('username','error')
@app.route('/hello/')
def hello():
# 获取session中的username的值,否则返回'error'
return session.get('username')
if __name__ == '__main__':
app.run()
运行结果如下:
在浏览器输入http://127.0.0.1:5000/set_session/,页面显示session已设置:
在浏览器输入http://127.0.0.1:5000/get_session/,页面显示获取到session值:
在浏览器输入http://127.0.0.1:5000/hello/,页面显示获取到session值:
点个在看吧~