小編給大家分享一下在Django中如何預防CSRF攻擊,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網站空間、營銷軟件、網站建設、銅山網站維護、網站推廣。CSRF全拼為Cross Site Request Forgery,譯為跨站請求偽造。
CSRF指攻擊者盜用了你的身份,以你的名義發送惡意請求。
( 包括:以你名義發送郵件,發消息,盜取你的賬號,甚至于購買商品,虛擬貨幣轉賬…)
造成的問題:個人隱私泄露以及財產安全。
CSRF攻擊示意圖
客戶端訪問服務器時沒有同服務器做安全驗證
防止 CSRF 攻擊
步驟:
1. 在客戶端向后端請求界面數據的時候,后端會往響應中的 cookie 中設置 csrf_token 的值
2. 在 Form 表單中添加一個隱藏的的字段,值也是 csrf_token
3. 在用戶點擊提交的時候,會帶上這兩個值向后臺發起請求
4. 后端接受到請求,會做以下幾件事件:
4.1 從 cookie中取出 csrf_token
4.2 從 表單數據中取出來隱藏的 csrf_token 的值
4.3 進行對比
5. 如果比較兩個值(經過算法運算得出的結果)是一樣,那么代表是正常的請求,如果沒取到或者比較不一樣,代表不是正常的請求,不執行下一步操作
CSRF_TOKEN的設置過程
創建視圖類
添加路由
添加表單
在form里添加語句
<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實現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攻擊”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
標題名稱:在Django中如何預防CSRF攻擊-創新互聯
標題網址:http://vcdvsql.cn/article0/csieio.html
成都網站建設公司_創新互聯,為您提供微信公眾號、靜態網站、建站公司、網站建設、Google、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯