欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django框架會話技術(shù)實例分析【Cookie與Session】

 更新時間:2019年05月24日 11:15:37   作者:微信1257309054  
這篇文章主要介紹了Django框架會話技術(shù),結(jié)合實例形式分析了Django框架Cookie與Session相關(guān)使用技巧與注意事項,需要的朋友可以參考下

本文實例講述了Django框架會話技術(shù)。分享給大家供大家參考,具體如下:

會話技術(shù)

1、Cookie

  • 客戶端會話技術(shù)(數(shù)據(jù)存儲在客戶端)
  • 以key-value的形式進行存儲
  • cookie的操作都是通過Response來實現(xiàn)的
  • 典型場景
    • 購物車
    • 登錄信息
  • 支持過期時間
  • Cookie清除策略
    • 默認關(guān)閉瀏覽器時cookie自動清除
    • 配置Cookie過期時間
    • max-age=0 關(guān)閉就失效
    • max-age=None 永久有效
    • max-age = int 單位秒
    • expires 過期時間,和max-age功能基本一致
  • 用戶登出,就是清除了cookie(令牌)

2、Session

  • 服務(wù)端會話技術(shù)
  • Session依賴于Cookie
    • 將Session在數(shù)據(jù)庫中的session_key,當(dāng)作sessionid,存儲在cookie中
  • Session數(shù)據(jù)存儲在數(shù)據(jù)庫中,并且做了基本的數(shù)據(jù)安全處理(base64編碼)

3、Token

  • 服務(wù)端會話技術(shù)
  • 相當(dāng)于手動實現(xiàn)的session
  • 值應(yīng)該是唯一的
    • 要通過特定算法保證唯一
    • 時間
    • ip
    • 域名
    • 網(wǎng)卡 mac
    • 隨機數(shù)

4、解決痛點

  • 解決短連接無法保存用戶狀態(tài)的問題
  • 延長了請求的生命周期
  • 用戶管理實例
    • 用戶注冊
    • 將數(shù)據(jù)存儲到數(shù)據(jù)庫
    • 數(shù)據(jù)安全
      • 密碼對誰都是不透明的
    • 用戶登陸
    • 將登陸提交過來的信息和數(shù)據(jù)庫內(nèi)的信息進行校驗
    • 返回不成功結(jié)果要刻意模糊概念
    • 用戶信息
    • 根據(jù)用戶的唯一標(biāo)識,去獲取用戶
    • 用戶退出
    • 清除令牌
    • 清理cookie,session,或 token

5、數(shù)據(jù)安全

  • 策略
    • 服務(wù)器的數(shù)據(jù)對任何人來說都應(yīng)該是不可見的(不透明)
    • 可以使用常見的摘要算法對數(shù)據(jù)進行摘要(md5,sha)
    • 在所有數(shù)據(jù)驗證的地方都加上安全保護措施

6、摘要算法

  • hashlib
    • sha
    • md5
    • 用來驗證數(shù)據(jù)完整性(不被篡改)
      • 哪怕【消息原文】被改動一丁點,【篡改版消息生成的消息摘要】都會與【原始消息所生成的消息摘要】的大相徑庭
    • 統(tǒng)一輸出
      • 輸出默認都是128位二進制數(shù)
      • 32位16進制數(shù)
    • 單向不可逆

7、UUID

  • 唯一標(biāo)識
  • 納秒級的時間
    • 1ns 創(chuàng)建 1m個id
  • mac 地址
  • 機器編碼
  • 隨機數(shù)
  • uuid

uuid1()
uuid3()
uuid4()
uuid5()

8、常用API

  • 生成消息摘要
def generate_password(password):
  #定義算法
  sha = hashlib.sha512()
  #更新算法內(nèi)容區(qū)(密碼字節(jié))
  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
  • session
- uname = request.session.get('uname')
- request.session['uname'] = username
- request.session.flush()
 - 同時清除cookie 和 session
- del request.session['uname']

  • 助記
    • session是存在于服務(wù)端本地的,而Request的COOKIE當(dāng)中存有sessionid,因此通過Request對象去關(guān)聯(lián)用戶的session
    • 方法無非get,set,del,flush
  • token
response.set_cookie("utoken", token)
utoken = request.COOKIES.get("utoken")

希望本文所述對大家基于Django框架的Python程序設(shè)計有所幫助。

相關(guān)文章

  • caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解

    caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解

    今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • pytorch如何對image和label同時進行隨機翻轉(zhuǎn)

    pytorch如何對image和label同時進行隨機翻轉(zhuǎn)

    這篇文章主要介紹了pytorch如何對image和label同時進行隨機翻轉(zhuǎn)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python3.9 beta2版本發(fā)布了,看看這7個新的PEP都是什么

    Python3.9 beta2版本發(fā)布了,看看這7個新的PEP都是什么

    這篇文章主要介紹了Python3.9 beta2版本發(fā)布了,看看這7個新的PEP都是什么,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-06-06
  • Python 字符串定義

    Python 字符串定義

    字符串是程序中最常見的數(shù)據(jù)類型。在Python中,可以使用三種方式定義字符串。單引號、雙引號和三引號。
    2009-09-09
  • 怎么用Python識別手勢數(shù)字

    怎么用Python識別手勢數(shù)字

    今天給大家?guī)淼奈恼率窃趺从肞ython識別手勢數(shù)字,文中有非常詳細的圖文示例,對正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Pytest單元測試框架生成HTML測試報告及優(yōu)化的步驟

    Pytest單元測試框架生成HTML測試報告及優(yōu)化的步驟

    本文主要介紹了Pytest單元測試框架生成HTML測試報告及優(yōu)化的步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python類反射機制使用實例解析

    Python類反射機制使用實例解析

    這篇文章主要介紹了Python類反射機制使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • pandas中DataFrame排序及分組排序的實現(xiàn)示例

    pandas中DataFrame排序及分組排序的實現(xiàn)示例

    本文主要介紹了pandas中DataFrame排序及分組排序,pandas中的sort_values()函數(shù)原理類似于SQL中的order by,可以將數(shù)據(jù)集依照某個字段中的數(shù)據(jù)進行排序,下面就來具體介紹一下,感興趣的可以了解一下
    2024-04-04
  • Python列表(List)知識點總結(jié)

    Python列表(List)知識點總結(jié)

    在本篇文章中小編給大家分享了關(guān)于Python列表(List)知識點一直對應(yīng)的實例內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • 使用python 3實現(xiàn)發(fā)送郵件功能

    使用python 3實現(xiàn)發(fā)送郵件功能

    本文通過實例代碼給大家介紹了使用python 3實現(xiàn)發(fā)送郵件功能,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06

最新評論