最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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清除策略
    • 默認(rèn)關(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)一輸出
      • 輸出默認(rèn)都是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)文章

  • Python中的迭代器詳解

    Python中的迭代器詳解

    這篇文章主要介紹迭代器,看完文章你可以了解到什么是可迭代對象、啥是迭代器、如何自定義迭代器、使用迭代器的優(yōu)勢,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-08-08
  • ubuntu中配置pyqt4環(huán)境教程

    ubuntu中配置pyqt4環(huán)境教程

    本文給大家分享的是在Ubuntu系統(tǒng)中配置pyqt4的詳細(xì)教程,有需要的小伙伴可以參考下
    2017-12-12
  • Python3 實現(xiàn)遞歸求階乘

    Python3 實現(xiàn)遞歸求階乘

    這篇文章主要介紹了Python3 實現(xiàn)遞歸求階乘的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • linux下安裝python3和對應(yīng)的pip環(huán)境教程詳解

    linux下安裝python3和對應(yīng)的pip環(huán)境教程詳解

    這篇文章主要介紹了linux下安裝python3和對應(yīng)的pip環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python中判斷集合范圍的方法小結(jié)

    python中判斷集合范圍的方法小結(jié)

    這篇文章主要介紹了python中判斷集合范圍的方法小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • python實現(xiàn)自動登錄人人網(wǎng)并訪問最近來訪者實例

    python實現(xiàn)自動登錄人人網(wǎng)并訪問最近來訪者實例

    這篇文章主要介紹了python實現(xiàn)自動登錄人人網(wǎng)并訪問最近來訪者實例,該實例是在前面登錄人人網(wǎng)實例基礎(chǔ)上的擴展,是非常實用的一個技巧,需要的朋友可以參考下
    2014-09-09
  • 解決Python二維數(shù)組賦值問題

    解決Python二維數(shù)組賦值問題

    今天小編就為大家分享一篇解決Python二維數(shù)組賦值問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python 3.6打包成EXE可執(zhí)行程序的實現(xiàn)

    Python 3.6打包成EXE可執(zhí)行程序的實現(xiàn)

    這篇文章主要介紹了Python 3.6打包成EXE可執(zhí)行程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法

    利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法

    今天小編就為大家分享一篇利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法,具有很好的參考價值,希望對大家有所幫助。一起跟小編過來看看吧
    2019-02-02
  • Python教程之生產(chǎn)者消費者模式解析

    Python教程之生產(chǎn)者消費者模式解析

    在并發(fā)編程中使用生產(chǎn)者和消費者模式能夠解決大不多的并發(fā)問題。該模式通過平衡生產(chǎn)線程和消費線程的工作能力來提高程序的整體處理數(shù)據(jù)的速度
    2021-09-09

最新評論

南安市| 健康| 保靖县| 西乌| 邓州市| 隆子县| 姜堰市| 平湖市| 精河县| 大关县| 普定县| 陈巴尔虎旗| 民和| 汽车| 尚志市| 锦州市| 浮梁县| 平山县| 南安市| 紫云| 文昌市| 巩义市| 渝北区| 汝州市| 汕尾市| 太仆寺旗| 建水县| 且末县| 五河县| 旌德县| 梅河口市| 法库县| 新竹市| 视频| 巴楚县| 唐河县| 大兴区| 攀枝花市| 霞浦县| 黎平县| 井研县|