Flask教程3-session:安全的加密Cookie
Cookie在Web程序中发挥了很大作用,其中最重要功能存储用户认证信息。
但如果直接把认证信息以明文方式存储在Cookie里,那么恶意用户就可以通过伪造cookie的内容来获得对网站权限,冒用别人账户。Flask提供了session对象用来将Cookies数据加密存储。
# -*- coding: utf-8 -*-from flask import Flask,sessionimport time,osapp = 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_KEYsession['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值:
点个在看吧~
