Ngnix 实现IP封禁以及自动封禁IP

1.在ngnix的conf目录下创建一个blockip.conf文件

2.里面放需要封禁的IP,格式如下

deny 1.2.3.4;

3.在ngnix的HTTP的配置中添加如下内容

include blockips.conf;

在这里插入图片描述
4.重启 ngnix

/usr/local/nginx/sbin/nginx -s reload

5.然后你就会看到IP被封禁了,你会喜提403;

在这里插入图片描述

 7.小思考:如何实现使用ngnix自动封禁ip的功能

1.AWK统计access.log,记录每分钟访问超过60次的ip,然后配合nginx进行封禁
2.编写shell脚本
3.crontab定时跑脚本

好了上面操作步骤列出来了,那我们先来实现第一个吧

在这里插入图片描述

操作一: AWK统计access.log,记录每分钟访问超过60次的ip

awk '{print $1}' access.log | sort | uniq -cd | awk '{if($1>60)print $0}'1. awk '{print $1}' access.log   取出access.log的第一列即为ip。
2. sort | uniq -cd  去重和排序
3. awk '{if($1>60)print $0}' 判断重复的数量是否超过60个,超过60个就展示出来

 操作二:编写shell脚本,实现整体功能(写了注释代码)

#不能把别人IP一直封着吧,这里就清除掉了
echo "" > /usr/local/nginx/conf/blockip.conf#前面最开始编写的统计数据功能
ip_list=$(awk '{print $1}' access.log | sort | uniq -cd | awk '{if($1>60)print $0}')#判断这个变量是否为空
if test -z "$ip_list"
then#为空写入 11.log中,并重新启动ngnixecho "为空"  >> /usr/local/nginx/logs/11.log/usr/local/nginx/sbin/nginx -s reloadelse#如果不为空 前面加上 deny格式和ip写入blockip.conf中echo "deny" $ip_list > /usr/local/nginx/conf/blockip.conf#因为前面携带了行数,所有我们需要去除掉前面的行数,写入后在读取一次ip_list2=$(awk '{print $3}' /usr/local/nginx/conf/blockip.conf)#最后再把读取出来的值,在次写入到blockip.conf中echo "deny" $ip_list2";"> /usr/local/nginx/conf/blockip.conf#重启ngnix/usr/local/nginx/sbin/nginx -s reload#清空之前的日志,从最新的开始截取echo "" > /usr/local/nginx/logs/access.logfi

操作三:使用crontab定时,来实现访问每分钟超过60的

这个crontab 就不多讲的,不会的可以去看看我之前的博客地址如下
https://blog.csdn.net/qq_38925100/article/details/123043112?spm=1001.2014.3001.5502

直接实操吧:

crontab -e 
* * * * * cd /usr/local/nginx/logs/ && sh ip_test.sh  每一分钟运行一次
systemctl restart crond.service 重启一下配置既可

在这里插入图片描述
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62313.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ngnix IP封禁以及实现自动封禁IP

1.在ngnix的conf目录下创建一个blockip.conf文件 2.里面放需要封禁的IP,格式如下 deny 1.2.3.4;3.在ngnix的HTTP的配置中添加如下内容 include blockips.conf;4.重启 ngnix /usr/local/nginx/sbin/nginx -s reload然后你就会看到IP被封禁了,你会喜提…

研究生论文阅读总结

UWB与协同定位 UWBUltra-Wideband Aided Fast Localization and Mapping System概要uwb权值设计平滑项权值设计 Integrated UWB-Vision Approach for Autonomous Docking of UAVs in GPS-denied Environments概要加定高雷达的改变 Robust Target-relative Localization with Ul…

考研复试-密码学(对比总结版本)

密码学 对称加密算法非对称加密算法(公开密钥算法)哈希算法(单向散列算法、杂凑函数)其他 各种算法介绍就不总结了,主要列举一些基本要点,方便对比记忆 对称加密算法 DES 密文长度(每组&#x…

深大计算机复试,20考研深大成功,分享考研复试考研经验!自我检讨

上次复试的时候,鸽了一天,很抱歉,后面说了会写一期的复试体会,现在就补上,其实说实话,我这次考研也是几番跌宕起伏,小心脏有点受不住了。 复试内容: 首先先说考试的内容吧&#xff0…

1. 考研常见问题总结 从择校到复试

文章目录 前言 1. 考研流程? 2. 如何选择学校? 3. 如何选择专业? 4. 选择学校还是选择专业? 5. 如何查专业资料?考试科目等。 6. 如何复习,准备初试? 7. 复试流程? 8…

考研复试问题汇总

计算机考研复试问题总结 文章目录 计算机考研复试问题总结一 . 计算机网络1.TCP连接建立(三次握手)2.TCP连接释放(四次挥手)3.计算机网络的主要功能?4.谈下你对五层网络协议体系结构的理解?七层协议理解 5.…

即便考分很好也不予录取的研究生复试红线,都是原则性问题

在浙大研究生招生录取政策文件中有这么一句话:坚持“按需招生、全面衡量、择优录取、宁缺毋滥”的原则,以提高人才选拔质量为核心,在确保安全性、公平性和科学性的基础上,做到统筹兼顾、精准施策、严格管理。字字体现出研究生招生…

研究生期间论文发表经验总结

文章目录 前言(一志愿未录取,走的调剂)一、研究生论文及成果1.中科院二区SCI英文论文2.中科院三区SCI英文论文3.北大核心期刊论文 二、经验分享1.第一篇SCI论文(二区英文论文)第一次返回大修:第二次返回大修…

详细分析DaSiamRPN,快速把握论文要点,不会请砍我!

文章目录 整体把握训练集修改的创新点出发点修改 论文代码:https://github.com/foolwood/DaSiamRPN 论文题目:Distractor-aware Siamese Networks for Visual Object Tracking 整体把握 本篇论文赢得了vot2018短时跟踪比赛的冠军,长时跟踪比…

应用统计432考研复试提问总结精简版【二】

一、自由度是什么? 定义:构成样本统计量的独立的样本观测值的数目解释:从书中所给的平均数的角度进行 二、讲一下对t检验的理解? t检验适用于两个变量均数间的差异检验。同时用t检验的前提下:正态性和方差齐性。t检…

本科论文常见答辩问题整理

这里写目录标题 专业性问题你系统的整体设计是怎么样?用了什么技术?这些技术应用的好处是什么?框架,SSM,SSH这些有什么优势。前端,前端用了什么;你数据库整体的设计是怎么样的,某个表…

iPhone苹果下载skype for business和skype有什么区别?苹果iPhone手机iOS系统如何下载Skype到iPhone苹果手机?

skype for business和skype有什么区别? 在国内iPhone苹果手机App Store上搜索:Skype,找不到真证的Skype,只能找到skype for business(以前称为Lync 2013); 而skype for business却不是一部分人…

1. 区块链项目开发常见错误-1-npm ERR! missing script: start

本节主要讨论在通过npm start 时,出现“npm ERR! missing script: start“错误 出现这个错误的常见原因是 在package.json中没有配置start 在通过truffle创建项目时,可以通过 1. truffle unbox webpack 通过这种方式创建的项目package.json的结构如下…

反编译微信小程序(支持分包)

手机端 小程序源文件具体本地目录: /data/data/com.tencent.mm/MicroMsg/018fd*****/appbrand/pkg/ 找到对应的包发送到电脑(如发送不了,压缩即可) 电脑端 环境:win7、10Node.js反编译脚本 1.下载反编译脚本并安装依赖 在反编译脚本目录…

反编译微信小程序工具之抓取小程序图片素材详细教程

一、关于软件 说明:本工具仅限学习使用,禁止使用此方法盗取他人的开发成果。由于经常反编译小程序,都是通过命令操作完成,步骤比较繁琐,故本人只好利用空闲时间对其进行小幅度修改,水平有限,经…

如何扒微信小程序源码

一.使用模拟器找到小程序.wxapkg文件(雷电模拟器为例或者夜神模拟器) 1.1在雷电模拟器中安装微信和文件管理器(RE管理器) 1.2登陆微信打开一个小程序 1.3在RE资源管理器找到小程序.wxapkg文件路径为/data/data/com.tencent.mm/Mi…

PC端使用微信小程序反编译工具的问题记录

PC端小程序路径:D: \用户\文档\WeChat Files\Applet\wx378xxxxxxxxxxxx0 通过查看修改日期确认自己要用到的小程序。 打开过的小程序建议移除掉之后重新添加小程序,小程序包回自动下载到目录下,这个时候把这个包复制出来进行反编译即可&…

VX小程序反编译

小程序反编译是是小程序测试必不可少的部分,接下来就让我们探讨其中一种反编译方式吧,以下纯属小分享,谢谢!!! 相关工具及链接: 链接:https://pan.baidu.com/s/1wutUCKbwrU-URD_RF…

微信小程序 - 实现简单登录和个人信息页面

接上节简单介绍完wxml,这节实际运用小程序的wxml来实现一套简单登录和个人信息展示。 微信个人信息获取接口已变更,请转移查看官方获取接口,本文仅作参考。小程序登录、用户信息相关接口调整说明 登录页面 创建好项目后,在page…

分享一款实用脑电分析软件,模拟非侵入性脑刺激

SimNIBS是用于模拟非侵入性脑刺激的软件。它允许对经颅磁刺激(TMS)和经颅直流电刺激(tDCS)诱导的电场进行实际计算。https://simnibs.drcmr.dk/ Gmsh是一个具有内置CAD引擎和后置处理器的三维有限元网格生成器.它的设计目标是提供…