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

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頁面中生成一個(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多進(jìn)程中的生產(chǎn)者和消費(fèi)者模型詳解

    python多進(jìn)程中的生產(chǎn)者和消費(fèi)者模型詳解

    這篇文章主要介紹了python多進(jìn)程中的生產(chǎn)者和消費(fèi)者模型,生產(chǎn)者是指生產(chǎn)數(shù)據(jù)的任務(wù),消費(fèi)者是指消費(fèi)數(shù)據(jù)的任務(wù)。當(dāng)生產(chǎn)者的生產(chǎn)能力遠(yuǎn)大于消費(fèi)者的消費(fèi)能力,生產(chǎn)者就需要等消費(fèi)者消費(fèi)完才能繼續(xù)生產(chǎn)新的數(shù)據(jù)
    2023-03-03
  • python中二分查找法的實(shí)現(xiàn)方法

    python中二分查找法的實(shí)現(xiàn)方法

    在本篇內(nèi)容里小編給大家整理了關(guān)于python中二分查找法的實(shí)現(xiàn)方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • python 性能提升的幾種方法

    python 性能提升的幾種方法

    本篇文章主要介紹python 性能提升的幾種方法,并附有代碼參考示例,有需要的小伙伴可以參考下
    2016-07-07
  • Python3自定義json逐層解析器代碼

    Python3自定義json逐層解析器代碼

    這篇文章主要介紹了Python3自定義json逐層解析器代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python 實(shí)現(xiàn)還原已撤回的微信消息

    Python 實(shí)現(xiàn)還原已撤回的微信消息

    這篇文章主要介紹了Python 神操作,還原已撤回的微信消息功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python實(shí)現(xiàn)快速查找并替換Excel中的數(shù)據(jù)

    Python實(shí)現(xiàn)快速查找并替換Excel中的數(shù)據(jù)

    Excel中的查找替換是一個(gè)非常實(shí)用的功能,能夠幫助用戶快速完成大量數(shù)據(jù)的整理和處理工作,避免手動(dòng)逐一修改數(shù)據(jù)的麻煩,提高工作效率,所以本文給大家介紹了Python實(shí)現(xiàn)快速查找并替換Excel中的數(shù)據(jù),需要的朋友可以參考下
    2024-06-06
  • python+pygame實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲的三種方式

    python+pygame實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲的三種方式

    這篇文章主要介紹了使用python實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲,文中提供了三種實(shí)現(xiàn)方式,解決思路和部分實(shí)現(xiàn)代碼,感興趣的朋友可以參考下
    2023-03-03
  • 在Pandas中給多層索引降級(jí)的方法

    在Pandas中給多層索引降級(jí)的方法

    今天小編就為大家分享一篇在Pandas中給多層索引降級(jí)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python利用urllib實(shí)現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實(shí)例

    python利用urllib實(shí)現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實(shí)例

    下面小編就為大家?guī)硪黄猵ython利用urllib實(shí)現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 利用Python 制作二維碼

    利用Python 制作二維碼

    這篇文章主要介紹的是如何利用Python 制作二維碼,文章從介紹python 二維碼制作的第三方庫QRCode 和MyQR展開話題,需要的小伙伴可以參考一下文章的具體內(nèi)容
    2021-09-09

最新評(píng)論