欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年08月09日 17:20:35   作者:一只小coder  
今天小編就為大家分享一篇nginx黑名單和django限速,最簡單的防惡意請求方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

項目Nginx作為http接入層,分發(fā)到django應(yīng)用,啟動10個uwsgi worker。

今日突然發(fā)現(xiàn),網(wǎng)頁打開卡頓,打開server一看,cpu100%。

打開uwsgi的log,發(fā)現(xiàn)某一個IP進(jìn)行了大量的請求,占用了worker。

這里總結(jié)下兩種解決方法:

1.設(shè)置nginx黑名單

vi blockip.conf創(chuàng)建文件,輸入:

deny x.x.x.x; 

編輯nginx.conf, 在http{}內(nèi)添加:

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內(nèi)添加middleware

RequestBlockingMiddleware.py

import time
from django.core.exceptions import PermissionDenied
 
from django.utils.deprecation import MiddlewareMixin
MAX_REQUEST_PER_SECOND=2 #每秒訪問次數(shù)
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出現(xiàn),相信對方正在某個小黑屋的電腦前氣得跺腳吧

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

相關(guān)文章

  • 關(guān)于python中的setup.py

    關(guān)于python中的setup.py

    distutils?的精髓在于編寫?setup.py,它是模塊分發(fā)與安裝的指導(dǎo)文件,那么如何編寫?setup.py?呢?這里面的內(nèi)容非常多,我會在本文給大家詳細(xì)講解,對python?setup.py相關(guān)知識感興趣的朋友一起看看吧
    2022-08-08
  • 基于Python+Matplotlib實現(xiàn)直方圖的繪制

    基于Python+Matplotlib實現(xiàn)直方圖的繪制

    Matplotlib是Python的繪圖庫,它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。本文將為大家介紹如何用matplotlib繪制直方圖,感興趣的朋友可以學(xué)習(xí)一下
    2022-04-04
  • Python入門教程(三十九)Python的NumPy安裝與入門

    Python入門教程(三十九)Python的NumPy安裝與入門

    這篇文章主要介紹了Python入門教程(三十九)Python的NumPy安裝與入門,NumPy 是一個Python包,它是一個由多維數(shù)組對象和用于處理數(shù)組的例程集合組成的庫,,需要的朋友可以參考下
    2023-05-05
  • python調(diào)用支付寶支付接口流程

    python調(diào)用支付寶支付接口流程

    這篇文章主要介紹了python調(diào)用支付寶支付接口流程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python tensorflow實現(xiàn)mnist手寫數(shù)字識別示例【非卷積與卷積實現(xiàn)】

    Python tensorflow實現(xiàn)mnist手寫數(shù)字識別示例【非卷積與卷積實現(xiàn)】

    這篇文章主要介紹了Python tensorflow實現(xiàn)mnist手寫數(shù)字識別,結(jié)合實例形式分析了基于tensorflow模塊使用非卷積與卷積算法實現(xiàn)手寫數(shù)字識別的具體操作技巧,需要的朋友可以參考下
    2019-12-12
  • python 定義類時,實現(xiàn)內(nèi)部方法的互相調(diào)用

    python 定義類時,實現(xiàn)內(nèi)部方法的互相調(diào)用

    今天小編就為大家分享一篇python 定義類時,實現(xiàn)內(nèi)部方法的互相調(diào)用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 基于Python編寫一個文檔密碼移除工具

    基于Python編寫一個文檔密碼移除工具

    保護(hù)文檔內(nèi)容是常見的需求,但有時我們可能會忘記或丟失文檔的密碼,導(dǎo)致無法訪問重要信息,本文將介紹如何使用Python創(chuàng)建一個簡單而實用的文檔密碼移除工具,需要的可以參考下
    2023-12-12
  • 關(guān)于Python兩個列表進(jìn)行全組合操作的三種方式

    關(guān)于Python兩個列表進(jìn)行全組合操作的三種方式

    這篇文章主要介紹了關(guān)于Python兩個列表進(jìn)行全組合操作的三種方式,兩個元組 (a, b)(c, d),則它們的組合有 a,c a,d b,c b,d,這就叫全組合,需要的朋友可以參考下
    2023-04-04
  • Python字符串對象實現(xiàn)原理詳解

    Python字符串對象實現(xiàn)原理詳解

    這篇文章主要介紹了Python字符串對象實現(xiàn)原理詳解,在Python世界中將對象分為兩種:一種是定長對象,比如整數(shù),整數(shù)對象定義的時候就能確定它所占用的內(nèi)存空間大小,另一種是變長對象,在對象定義時并不知道是多少,需要的朋友可以參考下
    2019-07-07
  • Python 的 __str__ 和 __repr__ 方法對比

    Python 的 __str__ 和 __repr__ 方法對比

    這篇文章主要介紹了Python 的 __str__ 和 __repr__ 方法的相關(guān)資料,幫助大家區(qū)分__str__ 和 __repr__ ,感興趣的朋友可以了解下
    2020-09-09

最新評論