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

django框架CSRF防護(hù)原理與用法分析

 更新時(shí)間:2019年07月22日 11:56:23   作者:笑-笑-生  
這篇文章主要介紹了django框架CSRF防護(hù)原理與用法,結(jié)合實(shí)例形式分析了Django框架CSRF防護(hù)的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了django框架CSRF防護(hù)。分享給大家供大家參考,具體如下:

CSRF防護(hù)

一、什么是CSRF?

CSRF: Cross-site request forgery,跨站請(qǐng)求偽造

用戶登錄了正常的網(wǎng)站A, 然后再訪問某惡意網(wǎng)站,該惡意網(wǎng)站上有一個(gè)指向網(wǎng)站A的鏈接,那么當(dāng)用戶點(diǎn)擊該鏈接時(shí),則惡意網(wǎng)站能成功向網(wǎng)站A發(fā)起一次請(qǐng)求,實(shí)際這個(gè)請(qǐng)求并不是用戶想發(fā)的,而是偽造的,而網(wǎng)站A并不知道。

攻擊者利用了你的身份,以你的名義發(fā)送惡意請(qǐng)求,比如:以你名義發(fā)送郵件,發(fā)消息,盜取你的賬號(hào),甚至于購(gòu)買商品,虛擬貨幣轉(zhuǎn)賬等。

如果想防止CSRF,首先是重要的信息傳遞都采用POST方式而不是GET方式,接下來就說POST請(qǐng)求的攻擊方式以及在Django中的避免

二、CSRF攻擊演示

步驟1:登錄成功后進(jìn)入發(fā)帖界面,進(jìn)行發(fā)帖(使用post請(qǐng)求發(fā)帖,測(cè)試時(shí)先關(guān)閉csrf中間件)

步驟2:限制登錄成功后才能發(fā)帖

  • 可通過session保存登錄成功的用戶名
  • 判斷session中是否有保存用戶名,有才允許發(fā)帖

步驟3:CSRF攻擊演示

三、CSRF防護(hù)

重要信息如金額、積分等的獲取,采用POST請(qǐng)求

開啟CSRF中間件(默認(rèn)就是開啟的)

# 項(xiàng)目下的setting.py
MIDDLEWARE_CLASSES = (
  ...
  # 開啟csrf中間件(默認(rèn)是開啟的)
  'django.middleware.csrf.CsrfViewMiddleware',
  ...
)

表單post提交數(shù)據(jù)時(shí)加上 {% csrf_token %} 標(biāo)簽

四、防御原理【了解】

  1. 服務(wù)器在渲染模板文件時(shí),會(huì)在html頁(yè)面中生成一個(gè)名字叫做 csrfmiddlewaretoken 的隱藏域。
  2. 服務(wù)器會(huì)讓瀏覽器保存一個(gè)名字為 csrftoken 的cookie信息
  3. post提交數(shù)據(jù)時(shí),兩個(gè)值都會(huì)發(fā)給服務(wù)器,服務(wù)器進(jìn)行比對(duì),如果一樣,則csrf驗(yàn)證通過,否則提示403 Forbidden

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

相關(guān)文章

  • python之用Numpy和matplotlib畫一個(gè)魔方

    python之用Numpy和matplotlib畫一個(gè)魔方

    這篇文章主要介紹了如何用Numpy和matplotlib畫一個(gè)魔方,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過程

    MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過程

    這篇文章主要介紹了MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • python中如何對(duì)多變量連續(xù)賦值

    python中如何對(duì)多變量連續(xù)賦值

    這篇文章主要介紹了python中如何對(duì)多變量連續(xù)賦值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python中處理YAML文件的正確方法

    Python中處理YAML文件的正確方法

    在現(xiàn)代軟件開發(fā)中,YAML(YAML Ain’t Markup Language)因其簡(jiǎn)潔和易于閱讀的特性,被廣泛用于配置文件,Python 作為一種流行的編程語(yǔ)言,提供了多種處理 YAML 文件的庫(kù),本文給大家介紹了Python中處理YAML文件的正確方法,需要的朋友可以參考下
    2024-11-11
  • 詳解Python如何批量采集京東商品數(shù)據(jù)流程

    詳解Python如何批量采集京東商品數(shù)據(jù)流程

    這不快過年了,又是要買年貨,又是要給女朋友買禮物的,分析一下價(jià)格,看看哪些是真的降價(jià)了
    2022-01-01
  • Python編輯器Pycharm安裝配置超詳細(xì)教程

    Python編輯器Pycharm安裝配置超詳細(xì)教程

    PyCharm是一款功能強(qiáng)大的Python編輯器,具有跨平臺(tái)性,下面這篇文章主要給大家介紹了關(guān)于Python編輯器Pycharm安裝配置的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 詳解Python最長(zhǎng)公共子串和最長(zhǎng)公共子序列的實(shí)現(xiàn)

    詳解Python最長(zhǎng)公共子串和最長(zhǎng)公共子序列的實(shí)現(xiàn)

    這篇文章主要介紹了詳解Python最長(zhǎng)公共子串和最長(zhǎng)公共子序列的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 《Python學(xué)習(xí)手冊(cè)》學(xué)習(xí)總結(jié)

    《Python學(xué)習(xí)手冊(cè)》學(xué)習(xí)總結(jié)

    本篇文章是讀者朋友在學(xué)習(xí)了《Python學(xué)習(xí)手冊(cè)》這本書以后,總結(jié)出的學(xué)習(xí)心得,值得大家參考學(xué)習(xí)。
    2018-01-01
  • 利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的方法

    利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的方法

    最近在利用python做接口測(cè)試,其中有個(gè)上傳圖片的接口,在網(wǎng)上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關(guān)于利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 100 個(gè) Python 小例子(練習(xí)題一)

    100 個(gè) Python 小例子(練習(xí)題一)

    這篇文章主要介紹 Python 小例子,有數(shù)字組合、個(gè)稅計(jì)算、完全平方數(shù)、三數(shù)排序、斐波那契數(shù)列、copy、九九乘法表、暫停一秒輸出等多個(gè)實(shí)例,需要的朋友可以參考一下
    2021-10-10

最新評(píng)論

吴桥县| 郁南县| 许昌市| 邢台市| 吉首市| 辽中县| 开封市| 田东县| 汉寿县| 门头沟区| 两当县| 福鼎市| 田东县| 娄底市| 汨罗市| 沙湾县| 鲜城| 平安县| 游戏| 肇州县| 曲麻莱县| 肇源县| 中宁县| 韶关市| 依安县| 通山县| 嘉善县| 乡宁县| 东源县| 新野县| 沐川县| 肃北| 礼泉县| 犍为县| 紫金县| 紫阳县| 离岛区| 江陵县| 班玛县| 大埔区| 涞源县|