中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Django中如何預防CSRF攻擊

發布時間:2021-07-02 10:10:28 來源:億速云 閱讀:148 作者:小新 欄目:開發技術

小編給大家分享一下在Django中如何預防CSRF攻擊,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

CSRF全拼為Cross Site Request Forgery,譯為跨站請求偽造。

CSRF指攻擊者盜用了你的身份,以你的名義發送惡意請求。

( 包括:以你名義發送郵件,發消息,盜取你的賬號,甚至于購買商品,虛擬貨幣轉賬…)

造成的問題:個人隱私泄露以及財產安全。

CSRF攻擊示意圖

客戶端訪問服務器時沒有同服務器做安全驗證

在Django中如何預防CSRF攻擊

防止 CSRF 攻擊

步驟:

1. 在客戶端向后端請求界面數據的時候,后端會往響應中的 cookie 中設置 csrf_token 的值

2. 在 Form 表單中添加一個隱藏的的字段,值也是 csrf_token

3. 在用戶點擊提交的時候,會帶上這兩個值向后臺發起請求

4. 后端接受到請求,會做以下幾件事件:

4.1 從 cookie中取出 csrf_token

4.2 從 表單數據中取出來隱藏的 csrf_token 的值

4.3 進行對比

5. 如果比較兩個值(經過算法運算得出的結果)是一樣,那么代表是正常的請求,如果沒取到或者比較不一樣,代表不是正常的請求,不執行下一步操作

在Django中如何預防CSRF攻擊

CSRF_TOKEN的設置過程

創建視圖類

在Django中如何預防CSRF攻擊

添加路由

在Django中如何預防CSRF攻擊

添加表單

在form里添加語句

在Django中如何預防CSRF攻擊

<form method="post" action="/tpl/csrf">
  {{ csrf_input }}
<p>
 <label for="fave">Fruit: <input id="fave" name="fave" /></label>
</p>
<p>
 <label for="name">Name: <input id="name" name="name" /></label>
</p>
<button>提交</button>
</form>

在Django中如何預防CSRF攻擊

補充知識:Django實現url跳轉(重定向)

編輯urls.py文件如下:

from django.urls import path, include
from django.views.generic import RedirectView
 
urlpatterns = [
  path('polls/', include('polls.urls')),
  path('', RedirectView.as_view(url='polls/')),
 
]

即表示將xxx.com跳轉到xxx.com/polls/。

看完了這篇文章,相信你對“在Django中如何預防CSRF攻擊”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯昌县| 故城县| 湘乡市| 吴忠市| 天门市| 保亭| 长治市| 三门县| 蒲江县| 炎陵县| 合肥市| 应用必备| 聂拉木县| 永仁县| 十堰市| 来凤县| 东宁县| 洞口县| 铁力市| 武强县| 原阳县| 安岳县| 交口县| 孟村| 烟台市| 读书| 嫩江县| 铜梁县| 东兴市| 中西区| 图木舒克市| 南阳市| 凤阳县| 余干县| 石渠县| 建始县| 大田县| 德惠市| 耿马| 射洪县| 万盛区|