最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法分享

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

django項(xiàng)目遭遇cc攻擊,不要驚慌,這里推薦兩招簡(jiǎn)單實(shí)用的技巧。

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

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

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

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

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

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

deny x.x.x.x; 

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

include blockip.conf;

驗(yàn)證配置:

[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中注冊(cè):

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里再也沒有對(duì)方的IP出現(xiàn),相信對(duì)方正在某個(gè)小黑屋的電腦前氣得跺腳吧

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

相關(guān)文章

  • Python numpy二維數(shù)組如何刪除指定行和列

    Python numpy二維數(shù)組如何刪除指定行和列

    本文展示了如何對(duì)數(shù)組進(jìn)行行列刪除操作,包括刪除單行、單列、多行和多列的方法,通過具體的運(yùn)行結(jié)果展示,讀者可以清晰地了解到如何在不同情況下進(jìn)行數(shù)據(jù)處理,文章內(nèi)容實(shí)用,適合需要進(jìn)行數(shù)據(jù)處理的讀者參考學(xué)習(xí)
    2024-09-09
  • python或C++讀取指定文件夾下的所有圖片

    python或C++讀取指定文件夾下的所有圖片

    這篇文章主要為大家詳細(xì)介紹了python或C++讀取指定文件夾下的所有圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)

    OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • python ChainMap的使用和說明詳解

    python ChainMap的使用和說明詳解

    這篇文章主要介紹了python ChainMap的使用和說明詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 最小二乘法及其python實(shí)現(xiàn)詳解

    最小二乘法及其python實(shí)現(xiàn)詳解

    今天小編就為大家分享一篇最小二乘法及其python實(shí)現(xiàn)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python中pygame安裝不成功的解決辦法

    python中pygame安裝不成功的解決辦法

    盡管網(wǎng)上搜到許多篇關(guān)于pycharm如何安裝pygame庫(kù),但是跟著要求做還是安裝失敗,下面這篇文章主要給大家介紹了關(guān)于python中pygame安裝不成功的解決辦法,需要的朋友可以參考下
    2023-05-05
  • python/golang 刪除鏈表中的元素

    python/golang 刪除鏈表中的元素

    這篇文章主要介紹了python/golang 如何刪除鏈表中的元素,幫助大家更好的理解和使用python/golang,感興趣的朋友可以了解下
    2020-09-09
  • python生成以及打開json、csv和txt文件的實(shí)例

    python生成以及打開json、csv和txt文件的實(shí)例

    今天小編就為大家分享一篇python生成以及打開json、csv和txt文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python利用腳本輕松實(shí)現(xiàn)ssh免密登陸配置

    python利用腳本輕松實(shí)現(xiàn)ssh免密登陸配置

    這篇文章主要為大家詳細(xì)介紹了python如何利用腳本輕松實(shí)現(xiàn)ssh免密登陸配置,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Python+Turtle繪制可愛的可達(dá)鴨

    Python+Turtle繪制可愛的可達(dá)鴨

    一年一度的六一兒童節(jié)又來了,祝大朋友小朋友節(jié)日快樂!本文主要介紹如何運(yùn)用Python中的turtle庫(kù)控制函數(shù)繪制可達(dá)鴨,希望你會(huì)喜歡
    2022-05-05

最新評(píng)論

丹棱县| 金平| 奉贤区| 西贡区| 鄂尔多斯市| 全州县| 遵义市| 余庆县| 祁东县| 湛江市| 重庆市| 元谋县| 罗田县| 曲阜市| 青铜峡市| 锡林浩特市| 花莲市| 凤庆县| 蓬安县| 永修县| 霞浦县| 墨玉县| 治县。| 定远县| 高陵县| 开平市| 天镇县| 宽城| 宜丰县| 黑河市| 昌宁县| 上虞市| 汉源县| 延寿县| 泸州市| 天津市| 桂平市| 海原县| 泰州市| 资兴市| 兴仁县|