1. 程式人生 > >基於中間件訪問頻率限制 每分鐘時間間隔最多訪問3次

基於中間件訪問頻率限制 每分鐘時間間隔最多訪問3次

頻率 cor while proc process ces war esp n)

同一個IP 1分鐘時間間隔只能訪問三次

1. 拿到用戶請求的IP
2. 當前請求的時間
3. 記錄訪問的歷史
VISIT_RECORD ={
    ip:[]
}
class Throttle(MiddlewareMixin):
    def process_request(self,request):
        # print(request.META)通過這個可以拿到ip
        ip = request.META.get(REMOTE_ADDR)
        now = time.time()
        if ip not
in VISIT_RECORD: VISIT_RECORD[ip] = [] history = VISIT_RECORD[ip] while history and now - history[-1] >60: history.pop() if len(history) >= 3: return HttpResponse(您的訪問次數超出限制!請在一分鐘之後再次訪問!!!) history.insert(0,now)

基於中間件訪問頻率限制 每分鐘時間間隔最多訪問3次