学习整理nginx常用屏蔽规则,让网站更安全
学习整理nginx常用屏蔽规则,让网站更安全
- 注意
- 一、防止文件被下载
- 二、屏蔽非常见蜘蛛(爬虫)
- 三、禁止某个目录执行脚本
- 四、屏蔽某个IP或IP段
注意
在开始之前,希望您已经熟悉的Nginx常用命令(如停止,重启等操作)及排查nginx的错误日志,以免出现问题不知所措。如无特殊注明,的以下命令:均添加到server段内,修改nginx的配置之前务必做好备份,修改完毕后需要重载一次nginx的,否则不会生效。
一、防止文件被下载
比如将网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险。以下规则可以防止一些常规的文件被下载,可根据实际情况增减。
location ~ \.(zip|rar|sql|bak|gz|7z)$ { return 444;
}
二、屏蔽非常见蜘蛛(爬虫)
如果经常分析网站日志你会发现,一些奇怪的UA总是频繁的来访问网站,而这些UA对网站收录毫无意义,反而增加服务器压力,可以直接将其屏蔽。
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) { return 444;
}
三、禁止某个目录执行脚本
比如网站上传目录,通常存放的都是静态文件,如果因程序验证不严谨被上传木马程序,导致网站被黑。以下规则请根据自身情况改为您自己的目录,需要禁止的脚本后缀也可以自行添加。
#uploads|templets|data 这些目录禁止执行PHP
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ { return 444;
}
四、屏蔽某个IP或IP段
如果网站被恶意灌水或CC攻击,可从网站日志中分析特征IP,将其IP或IP段进行屏蔽。
#屏蔽192.168.5.23这个IP
deny 192.168.5.23;
#屏蔽192.168.5.* 这个段
denu 192.168.5.0/24;
再次强调,修改nginx的配置之前务必做好备份,修改完毕后需要重载一次nginx的,否则不会生效。
大部分上面规则报道查看444状态码而不是403,
因为444状态码在nginx的中有特殊含义,nginx的444状态是直接由服务器中断连接,不会向客户端再返回任何消息。
比返回403更加暴力
重启nginx服务
systemctl restart nginx.service
相关文章:
学习整理nginx常用屏蔽规则,让网站更安全
学习整理nginx常用屏蔽规则,让网站更安全 注意一、防止文件被下载二、屏蔽非常见蜘蛛(爬虫)三、禁止某个目录执行脚本四、屏蔽某个IP或IP段 注意 在开始之前,希望您已经熟悉的Nginx常用命令(如停止,重启等…...
四十一、【进阶】索引使用SQL提示
1、SQL提示使用情景 在使用MySQL时,当一个字段参在于多个索引中时,默认情况下,MySQL会自动选择一个索引,但我们可以指定索引吗?可以忽略某一种索引吗? 答案是可以的。 前提:profession字段已经…...
AI智能分析网关高空抛物算法如何实时检测高楼外立面剥落?
高楼外立面剥落是一种十分危险的行为,会造成严重的人身伤害和财产损失。TSINGSEE青犀智能分析网关利用高楼外立面剥落的信息,结合高空抛物算法来进行处理就可很好解决此问题。 1. 数据收集 首先,需要收集关于高楼外立面剥落的数据。这可以通…...
微信小程序 - 页面继承(非完美解决方案)
微信小程序 - 面页继承(非完美解决方案) 废话思路首页 indexindex.jsindex.jsonindex.wxml 父页面 page-basepage-base.jspage-base.wxml 子页面 page-apage-a.jspage-a.wxml 子页面 page-bpage-b.jspage-b.wxml 其它app.jsapp.jsonapp.wxss 参考资料 废…...
智能配件管理系统有什么用?企业如何实现管理数字化转型?
在当今高度信息化的时代,企业运营的各个环节都离不开准确及时的数据支持。特别是在制造业中,生产数据的记录和管理对于提高生产效率、降低成本、优化资源配置等方面具有至关重要的作用。然而,许多企业仍在采用纸质流转卡来记录生产数据&#…...
@SuppressWarnings注解使用说明
在Java编程中,我们常常会遇到一些警告(warnings),这些警告通常是对某些潜在问题的提示,虽然这些问题可能不会立即影响程序的运行,但可能会在将来引发问题。为了消除这些警告,我们可以使用Suppre…...
算法从入门到入土cpp版
1. 排序 1. 快速排序 # include<iostream> using namespace std;const int N 100010;int q[N];void quick_sort(int q[], int l, int r) {if(l>r) return;int il-1,jr1,tempq[l];while(i<j){do i;while(q[i]<temp);do j--;while(q[j]>temp);if(i<j)swa…...
没有PDF密码,如何解密文件?
PDF文件有两种密码,一个打开密码、一个限制编辑密码,因为PDF文件设置了密码,那么打开、编辑PDF文件就会受到限制。想要解密,我们需要输入正确的密码,但是有时候我们可能会出现忘记密码的情况,或者网上下载P…...
Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded
Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded 1.问题背景 近期系统对Mysql 版本进行了升级,由原来的 5.7升至 8版本,在现场使用Sqlyog 作为数据库连接软件时,发现连接失败。 2.问题现象 使用Sqlyog配置完连…...
学习笔记三十三:准入控制
ResourceQuota准入控制器 ResourceQuota准入控制器限制cpu、内存、pod、deployment数量限制存储空间大小 LimitRanger准入控制器在limit名称空间创建pod,不指定资源,看看是否会被limitrange规则自动附加其资源限制创建pod,指定cpu请求是100m&…...
Unix/Linux C语言 获取控制台窗口尺寸
在Unix/Linux控制台编程,为了能输出好看一些,需要知道窗口宽度,当然使用支持很宽的窗口的终端也是个办法,但是实在没有很宽的终端怎么办呢,还是要从程序上想办法的。 判断控制台窗口宽度需要两个函数: isa…...
界面控件DevExpress WinForms Gauge组件 - 实现更高级别数据可视化
DevExpress WinForms控件包含了超过150个随时可用的仪表盘预设,包括圆形,数字,线性和状态指示器等,来帮助用户实现更高级的数据可视化。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创建具有影响力的业…...
vivo 自研蓝河操作系统 BlueOS 发布:支持大模型、BlueXlink 协议实现万物互联
大家好,我是 Lorin , 2023 年 11 月 1 日,在今天的 2023 年 vivo 开发者大会上,vivo 自主研发的蓝河操作系统(BlueOS)正式亮相。这款操作系统被宣传为一款面向未来的智能操作系统,具备出色的支持能力&#…...
opencv复习(很乱)
2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…...
于璠访谈录 | AI 框架应该和而不同?
点击以下链接收听本期 “大咖访谈” 播客,与大咖面对面: 大咖访谈链接:于璠 | AI 框架应该和而不同? 刘天栋:访谈主持,开源雨林社区顾问、开源社联合创始人、ASF member 于璠:访谈嘉宾…...
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
一、项目简介 本项目是一套基于springboot框架实现的宠物医院管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…...
【数据结构二叉树】先序层序建立、递归非递归遍历层序遍历、树高、镜面、对称、子树、合并、目标路径、带权路径和等等
二叉树 文章目录 二叉树1. 二叉树的建立(递归创建,结构体指针形式)1.1. 先序建立1.2. 层序建立 2. 递归遍历(结构体指针)2.1. 先序遍历2.2. 中序遍历2.3. 后序遍历 3. 非递归遍历(结构体指针)3.1. 层次遍历3.2. 后序遍历(非递归) 4. 求树的高…...
Mybatis延迟加载(缓存)
延迟加载 分步查询的优点:可以实现延迟加载,但是必须在核心配置文件中设置全局配置信息:lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载 aggressiveLazyLoading:当开启时&…...
我对美团的看法,作为美团的股东,我都有点懵
我是美团的股东,你看股价,我都想骂人了。 这帖子就一句话。足以表明我的无奈。...
【Java】文件操作和IO
❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 文件概念文件的分类常见的文件类型文件系统的目录结构路径 Java中的文件操作文件系统相关操作绝…...
安检机图像处理踩坑实录:从条纹校正到物质分类,那些论文里不会告诉你的细节
安检图像处理实战:从条纹校正到物质分类的工程化解决方案 在安检设备研发领域,双能X射线成像技术已经成为行业标配,但教科书和论文中的理想模型往往与工程实践存在巨大鸿沟。作为参与过多个机场安检系统落地的工程师,我深刻体会到…...
别再混淆EbN0和SNR了!手把手教你用Python验证MQAM误码率公式(附完整代码)
从理论到实践:用Python彻底解析EbN0与SNR的误码率验证 通信仿真中经常遇到一个经典问题:为什么我的误码率曲线和理论公式对不上?这个问题困扰过无数通信工程师和研究者。本文将带你从基础概念出发,通过Python代码实现,…...
如何3分钟上手B站视频下载神器:BilibiliDown跨平台下载完全指南
如何3分钟上手B站视频下载神器:BilibiliDown跨平台下载完全指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_…...
Windows微信QQ防撤回终极指南:一键阻止消息被撤回的完整教程
Windows微信QQ防撤回终极指南:一键阻止消息被撤回的完整教程 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitc…...
GD32F303外部中断实战:从按键消抖到中断优先级配置,一个例程全搞定
GD32F303外部中断实战:从按键消抖到中断优先级配置 第一次接触嵌入式开发时,最让我困惑的就是中断系统。记得当时用按键控制LED,明明代码逻辑没问题,LED却总是莫名其妙地闪烁。后来才发现是按键抖动导致多次触发中断。今天我们就以…...
AI-HF_Patch终极指南:如何为AI-Shoujo游戏安装完整增强补丁
AI-HF_Patch终极指南:如何为AI-Shoujo游戏安装完整增强补丁 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch 你是否在寻找一款能够彻底提升AI-Shoujo游戏体…...
5分钟掌握跨平台音乐格式转换:Unlock-Music浏览器端音频解密终极指南
5分钟掌握跨平台音乐格式转换:Unlock-Music浏览器端音频解密终极指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项…...
如何用Blender3mfFormat插件完美处理3MF文件:终极3D打印工作流指南
如何用Blender3mfFormat插件完美处理3MF文件:终极3D打印工作流指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否曾经在Blender中为3D打印工作流而烦…...
告别静态分析!用R包SetMethods搞定面板数据QCA的三大一致性(附代码实战)
动态QCA实战指南:用R包SetMethods破解面板数据三大一致性难题 社会科学研究者常面临一个核心挑战:如何从随时间变化的面板数据中提取稳定可靠的因果模式?传统横截面QCA分析往往无法捕捉时间或个体效应,导致结论缺乏稳健性。本文将…...
HC-05蓝牙模块连接Arduino/STM32的实战避坑指南:从3.3V/5V电平匹配到手机APP调试全流程
HC-05蓝牙模块连接Arduino/STM32的实战避坑指南:从3.3V/5V电平匹配到手机APP调试全流程 当你第一次尝试将HC-05蓝牙模块连接到Arduino或STM32开发板时,可能会遇到各种令人沮丧的问题:模块不响应、手机搜索不到设备、数据传输不稳定。这些问题…...
