麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Django csrf 驗證問題的實現

2020-02-15 23:06:19
字體:
來源:轉載
供稿:網友

關于 csrf 的基本了解

百度百科:CSRF(Cross-site request forgery)跨站請求偽造,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。通過偽裝來自受信任用戶的請求來利用受信任的網站。

簡單來說就是攻擊者盜用你的身份,以你的名義來發送惡意請求。比如說用戶通過賬號密碼訪問了網站A,A網站將一些cookie信息保存在瀏覽器中實現用戶狀態行為跟蹤。這時用戶又打開了B網站,B網站返回了一些惡意代碼,并請求訪問A。這樣瀏覽器就會攜帶cookie以用戶的權限訪問A網站并執行代碼。而在服務器看來,這些都是正常的用戶操作。

Django 提供的 CSRF 防護機制

django 第一次響應來自某個客戶端的請求時,會在服務器端隨機生成一個 token,把這個 token 放在 cookie 里。然后每次 POST 請求都會帶上這個 token,

這樣就能避免被 CSRF 攻擊。

1.在返回的 HTTP 響應的 cookie 里,django 會為你添加一個 csrftoken 字段,其值為一個自動生成的 token
2.在所有的 POST 表單時,必須包含一個 csrfmiddlewaretoken 字段 (只需要在模板里加一個 tag, django 就會自動幫你生成,見下面)
3.在處理 POST 請求之前,django 會驗證這個請求的 cookie 里的 csrftoken 字段的值和提交的表單里的 csrfmiddlewaretoken 字段的值是否一樣。如果一樣,則表明這是一個合法的請求,否則,這個請求可能是來自于別人的 csrf 攻擊,返回 403 Forbidden.
4.在所有 ajax POST 請求里,添加一個 X-CSRFTOKEN header,其值為 cookie 里的 csrftoken 的值

Django 里如何使用 CSRF 防護

首先,最基本的原則是:GET 請求不要用有副作用。也就是說任何處理 GET 請求的代碼對資源的訪問都一定要是“只讀“的。 要啟用 django.middleware.csrf.CsrfViewMiddleware 這個中間件 再次,在所有的 POST 表單元素時,需要加上一個 {% csrf_token %} tag 在渲染模塊時,使用 RequestContext。RequestContext 會處理 csrf_token 這個 tag,  從而自動為表單添加一個名為 csrfmiddlewaretoken 的 input

在Django 中對csrf 的防范

Django中自帶了防止csrf攻擊的功能,但對于初學者來說可能不知道如何使用,并給自己帶來些意外的麻煩。

例如:一個正常的表單提交操作卻總是報錯。

Django 中GET請求不需要csrf認證,post請求需要正確的認證才能得到正確的返回結果。

我們先處理一下對表單提交的 csrf 驗證問題:一般在POST表單中加入{% csrf_token %}

<form method="POST" action="#">{% csrf_token %}  <input name='password' value='用戶密碼'></form>

加入了這句話后,再次提交post表單就不會出現問題了。

或者是另一個思路:禁用csrf 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本成人午夜 | 中国大陆一级毛片 | 国产成人精品网站 | hd极品free性xxx护士人 | 久久性生活免费视频 | 黄色特级一级片 | 国内精品久久久久影院不卡 | 日本欧美一区二区三区在线播 | 黄网站免费在线看 | 欧美性生活久久久 | 5xsq在线视频 | 国产精品视频在 | 国产午夜精品一区二区三区四区 | 制服丝袜成人动漫 | av在线看网站 | 国产精品色综合 | av噜噜噜噜 | 精品国产一区二区三区久久久蜜 | 黄色毛片一级视频 | 2019天天干夜夜操 | 国产精品久久久久久久亚洲按摩 | 国产一区二区欧美精品 | 国内毛片视频 | 久久久久久久亚洲视频 | 久久免费视频7 | 黄色网址入口 | 成人在线免费观看视频 | 2019天天干夜夜操 | 欧美日韩爱爱视频 | 久久99国产精品视频 | 一区在线视频 | 色综合一区二区 | 毛片在线免费播放 | 操皮视频 | 国产好片无限资源 | 日本成人一二三区 | 久久精品一级片 | 久久一区二区三区av | 黄色一级片免费在线观看 | 欧美日韩中文字幕在线 | 香蕉视频18|