vlambda博客
学习文章列表

Flask教程3-session:安全的加密Cookie

Cookie在Web程序中发挥了很大作用,其中最重要功能存储用户认证信息。

但如果直接把认证信息以明文方式存储在Cookie里,那么恶意用户就可以通过伪造cookie的内容来获得对网站权限,冒用别人账户。Flask提供了session对象用来将Cookies数据加密存储。

 # -*- codingutf-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_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已设置:

Flask教程3-session:安全的加密Cookie

在浏览器输入http://127.0.0.1:5000/get_session/页面显示获取到session值:

Flask教程3-session:安全的加密Cookie

在浏览器输入http://127.0.0.1:5000/hello/页面显示获取到session值:

点个在看吧~