1中介軟體的用處(針對請求和響應做全域性的操作時)可以做登入驗證
訪問限制
2. 自定義中介軟體,五個方法和三個要點
三個要點:
1.執行時間和執行順序
2.引數
3.返回值
1) process_request(self,request)
1.註冊順序,在檢視函式之前
2.引數request表示請求物件本身,和檢視函式中是同乙個物件
3.返回none就繼續往後走,返回響應物件就從本中介軟體的process_response倒序返回
2) process_response(self,request,response)
1.註冊的倒序,返回響應之後
2.request 請求物件,response:響應物件
3.必須返回響應物件
3) process_view(self,request,view_func,view_args,view_kwargs)
1.註冊的順序,檢視函式之前,urls.py之後
2.view_func:將要執行的檢視函式物件
3.返回none就繼續往後走,返回響應物件就不往後走,而是倒序遍歷process_response
4) process_template_response(self,request,response)
5) process_exception(self,request,exception)
3. csrf中介軟體原始碼分析
為什麼要把驗證csrf_token的邏輯寫在process_view()中。
如果加在process_request中,就會每個檢視函式進行驗證,哪些需要csrf驗證豁免的csrf_exampt就會不能豁免,寫在process_view()中就可以進行相應的請求豁免操作。
4. 昨日作業
同一ip一分鐘內訪問超過3次拒絕訪問
visited_record ={}
class
throttle(middlewaremixin):
defprocess_request(self,request):
ip = request.meta.get('
remote_addr')
now =time.time()
if ip not
invisited_record:
visited_record[ip] =
history =visited_record[ip]
while history and now - history[-1]>60:
history.pop()
if len(history) > 3:
return httpresponse('滾'
)
day 7 1 程序理論知識
一.程序的定義 程序 process 是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統 結構的基礎。在早期面向程序設計的計算機結構中,程序是程式的基本執行實體 在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令 資料及其組織形式的描述,程...
Day71 資料分析 Excel
最常用的操作 ctrl a 全選 ctrl z 撤銷 ctrl x 剪下 ctrl c 複製 ctrl v 貼上 ctrl b 加粗 ctrl s 儲存 ctrl f 查詢 ctrl h 替換 alter enter 單元格內強制換行 區域選擇 home 移到工作表中某一行的開頭 ctrl home...
Python全棧開發day9 12
一 機器數 在計算機中用二進位制表示,機器數是帶符號的,二進位制數中的最高位,0為正,1為負。二 真值 因為機器數的第一位是符號位,所以機器數的形式值數就不等於真正的數值,將帶符號位的機器數對應的真正數值稱為機器數的真值。三 原碼補碼反碼 1.原碼 原碼表示符號位加上真值的絕對值,即用第一位表示符號...