Django框架会话技术实例分析【Cookie与Session】
2019-05-24 18:03
1841 查看
本文实例讲述了Django框架会话技术。分享给大家供大家参考,具体如下:
会话技术
1、Cookie
- 客户端会话技术(数据存储在客户端)
- 以key-value的形式进行存储
- cookie的操作都是通过Response来实现的
- 典型场景 购物车
- 登录信息
-
默认关闭浏览器时cookie自动清除
2、Session
- 服务端会话技术
- Session依赖于Cookie 将Session在数据库中的session_key,当作sessionid,存储在cookie中
3、Token
- 服务端会话技术
- 相当于手动实现的session
- 值应该是唯一的 要通过特定算法保证唯一
- 时间
- ip
- 域名
- 网卡 mac
- 随机数
4、解决痛点
- 解决短连接无法保存用户状态的问题
- 延长了请求的生命周期
- 用户管理实例 用户注册
- 将数据存储到数据库
- 数据安全 密码对谁都是不透明的
5、数据安全
- 策略 服务器的数据对任何人来说都应该是不可见的(不透明)
- 可以使用常见的摘要算法对数据进行摘要(md5,sha)
- 在所有数据验证的地方都加上安全保护措施
6、摘要算法
- hashlib sha
- md5
- 用来验证数据完整性(不被篡改) 哪怕【消息原文】被改动一丁点,【篡改版消息生成的消息摘要】都会与【原始消息所生成的消息摘要】的大相径庭
-
输出默认都是128位二进制数
7、UUID
- 唯一标识
- 纳秒级的时间 1ns 创建 1m个id
uuid1()
uuid3()
uuid4()
uuid5()
8、常用API
- 生成消息摘要
def generate_password(password): #定义算法 sha = hashlib.sha512() #更新算法内容区(密码字节) sha.update(password.encode("utf-8")) #使用算法生成摘要 return sha.hexdigest()
- cookie
response.set_cookie("uname", username) response.set_cookie("uname", username, max_age=30) response.set_cookie("uname", username, expires=timedelta(minutes=1)) uname = request.COOKIES.get('uname',None) response.delete_cookie("uname")
- 助记 操作客户端唯有通过Response对象
- 方法无非get,set,delete
- uname = request.session.get('uname') - request.session['uname'] = username - request.session.flush() - 同时清除cookie 和 session - del request.session['uname']
- 助记 session是存在于服务端本地的,而Request的COOKIE当中存有sessionid,因此通过Request对象去关联用户的session
- 方法无非get,set,del,flush
response.set_cookie("utoken", token) utoken = request.COOKIES.get("utoken")
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
您可能感兴趣的文章:
- Python后台开发Django会话控制的实现
- 深入探究Django中的Session与Cookie
- Django中的cookie与session操作实例代码
- Django项目开发中cookies和session的常用操作分析
- django框架之cookie/session的使用示例(小结)
- django进阶之cookie和session的使用示例
- Django组件之cookie与session的使用方法
- Django 中 cookie的使用
- 详解Python的Django框架中的Cookie相关处理
- 在Django的session中使用User对象的方法
- 在Python的Django框架的视图中使用Session的方法
相关文章推荐
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
- Django | Tornado | Flask 三种web框架的会话跟踪(session|cookie)
- Django | Tornado | Flask 三种web框架的会话跟踪(session|cookie)
- Cookie会话技术分析
- PHP基础教程十七之会话技术COOKIE、SESSION
- Web开发之会话管理技术(Cookie、Session)
- 5分钟学会Cookie和Session技术(web会话技术,属于web核心必会知识)
- Python3之cookie与session会话技术
- Django框架(十七:session和cookie)
- Cookie和Session-----会话跟踪中的两个重要技术
- Hibernate框架数据分页技术实例分析
- 会话技术:Cookie和Session
- 会话管理之Cookie技术+Session技术
- Web 会话机制(cookie+session)与实例
- Servlet(17)会话技术Session+Cookie及区别
- 会话技术cookie和session,JSP,EL,JSTL
- 会话技术cookie/session
- Session 与 Cookie--- 深入分析 Java Web 技术内幕,第 10 章
- 会话跟踪技术是Cookie与Session
- 会话技术Cookie&Session