91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

nginx黑名單和django限速,最簡單的防惡意請求方法分享

發布時間:2020-10-22 10:36:35 來源:腳本之家 閱讀:252 作者:一只小coder 欄目:開發技術

django項目遭遇cc攻擊,不要驚慌,這里推薦兩招簡單實用的技巧。

項目Nginx作為http接入層,分發到django應用,啟動10個uwsgi worker。

今日突然發現,網頁打開卡頓,打開server一看,cpu100%。

nginx黑名單和django限速,最簡單的防惡意請求方法分享

打開uwsgi的log,發現某一個IP進行了大量的請求,占用了worker。

這里總結下兩種解決方法:

1.設置nginx黑名單

vi blockip.conf創建文件,輸入:

deny x.x.x.x; 

編輯nginx.conf, 在http{}內添加:

include blockip.conf;

驗證配置:

[root@server nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重啟nginx:

nginx -s reload

2.django內添加middleware

RequestBlockingMiddleware.py

import time
from django.core.exceptions import PermissionDenied
 
from django.utils.deprecation import MiddlewareMixin
MAX_REQUEST_PER_SECOND=2 #每秒訪問次數
class RequestBlockingMiddleware(MiddlewareMixin):
  def process_request(self,request):
     now=time.time()
     request_queue = request.session.get('request_queue',[])
     if len(request_queue) < MAX_REQUEST_PER_SECOND:
       request_queue.append(now)
       request.session['request_queue']=request_queue
     else:
       time0=request_queue[0]
     if (now-time0)<1:
       raise PermissionDenied('Forbidden user agent')
     request_queue.append(time.time())
     request.session['request_queue']=request_queue[1:]

setting.py中注冊:

MIDDLEWARE = [
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'common.middleware.RequestBlockingMiddleware', #在sessions之后,auth之前
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

不足100行代碼,log里再也沒有對方的IP出現,相信對方正在某個小黑屋的電腦前氣得跺腳吧

以上這篇nginx黑名單和django限速,最簡單的防惡意請求方法分享就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

静海县| 澄城县| 云霄县| 德清县| 徐水县| 庆元县| 德令哈市| 吉首市| 辽源市| 于田县| 太湖县| 甘孜县| 吴桥县| 浦城县| 团风县| 阳新县| 理塘县| 潜江市| 博罗县| 曲阜市| 买车| 镇宁| 旬阳县| 沅陵县| 江山市| 云龙县| 安乡县| 吴江市| 车致| 岑巩县| 芦溪县| 鄂伦春自治旗| 疏勒县| 政和县| 乌什县| 邵武市| 博湖县| 承德县| 阿城市| 沾益县| 乐东|