1panel专业版防火墙自定义规则使用记录

server/2024/11/28 10:46:52/

案例一:自建lsky 使用1panel防火墙自定义规则通过匹配正则表达式实现仅可访问/i和/lsky 目录

注意:这里的lsky的服务是是使用的反代,反代,这里是用的反向代理,如果你有疑问,可以留言,看到会解答。
本站使用的是私人NAS自建的Lsky图床

通过本地1panel反向代理出来,

由于外网并不安全,为了以绝后患,防止各种破解,我们可以使用1pane专业版防火墙的自定义规则,

这里我使用的是正则匹配URL,这里本地使用的1panel也要拥有waf,也就是专业版

准备创建规则

  1. 点击 高级功能-waf

  2. 点击 网站设置

  3. 选择 网站-lsky(反代)

  4. 点击 自定义规则

  5. 点击 开启

  6. 点击 创建

填写规则

填写 名称

选择 匹配对象-URL

选择 匹配条件-正则表达式

填写 匹配内容(正则不会写用AI帮你写)“写一个正则表达式,要求同时排除以 /i 和 /lsky 开头的路径”

选择 动作-禁止

选择 返回状态码

通过新增一条匹配对象是url,条件使用正则表达式,匹配的内容是^(?!(/i|/lsky)).* 意思是排除以 "/i" 或 "/lsky" 开头的URL路径。这样配置后,防火墙会禁止访问所有不包含这两个目录路径的URL请求。

验证

访问站点内的图片则显示正常,直接访问lsky登录url则返回无法访问

坑点

要注意给自己服务器增加一个白名单

正常事这样的

Lsky插件是要服务器通过API与本地链接,因此会有访问,如果你不开白名单的话就会出现下面的问题

无法正确的访问,无论是验证,上传,删除,都不可以。

案例二:自建maxkb 使用自定义规则通过匹配正则表达式实现访问限制

仅可访问目录:/api和/ui

设置条件匹配对象为URL,使用正则表达式^(?!(/api|/ui)).\*来禁止访问除/api和/ui目录以外的所有路径,

禁止访问登陆地址 :/ui/login

设设置条件匹配对象为URL,当路径为`/ui/login`时,禁止访问登录入口界面。这样配置后,防火墙将禁止直接访问登录页面,只能通过白名单中的网址进行访问。

禁止通过直链直接访问maxkb

此方法配合maxKB内访问限制 白名单

可以限制仅在白名单中的网址访问,无法通过直接访问

置条件匹配对象为URL,当路径=/ui/chat ,并且header的Sec-Fetch-Dest=document

(如果访问的路径并且不是通过document访问则无法访问),这个是请求标头的中的信息来匹配

这里单独一条规则使用多条匹配对象是且,而不是或。


http://www.ppmy.cn/server/145604.html

相关文章

第21周:机器学习

目录 摘要 Abstract 一、ARIMA模型 1、时间序列模型 (1)时间序列的分析方法 (2)时间序列的预处理 (3)ARIMA模型的引入 2、AR模型 3、MA模型 4、小结 二、K-means聚类算法 三、实验 1、数据处…

<硬件有关> 内存攒机认知入门,内存的选择 配置 laptop PC 服务器

原因 这不是黑五吗,给我儿子买了台最便宜 ($300) DELL laptop,CPU 是 i5-1235U,但只有 8GB 内存。升级内存吧。 如何选择内存:家用范围 这里不考虑品牌,在我眼里,区别就是价格,还有所谓的物理…

【前端】JavaScript中的字面量概念与应用详解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯字面量1. 数字字面量2. 字符串字面量3. 布尔字面量4. 空值字面量(null)5. 对象字面量6. 数组字面量7. 正则表达式字面量8. 特殊值字面量9. 函数字…

MySQL第二部,常用SQL语句和pymysql函数

目录 一、示例代码 二、常用SQL语句及概念 SQL语句分类 注释方式 DDL-数据定义语言 数据库相关 表相关 创建表 数据类型 表约束 修改表 DML-数据操作语言 增删改查 DCL-数据控制语言 TCL-事务控制语言 一、示例代码 再贴一下上一部的代码,该代码展示了…

TypeScript中的接口(Interface):定义对象结构的强类型方式

在TypeScript中,接口(Interface)是一种强大的方式,用于定义对象的结构,它确保一个对象只有特定的、预定义的结构。接口不仅可以用来定义对象的形状,还可以用于类、函数和数组等复杂的数据结构。本文将详细介…

【pyspark学习从入门到精通22】机器学习库_5

训练-验证分割 TrainValidationSplit 模型为了选择最佳模型,会对输入数据集(训练数据集)进行随机分割,分成两个子集:较小的训练子集和验证子集。分割只执行一次。 在这个例子中,我们还将使用 ChiSqSelect…

创建一个简单的 Nuxt.js 应用

记录一下自己创建一个使用 Vue 3 的 Nuxt.js 应用的过程。该应用包含两个子页面,相对简单。最大的坑是创建项目时用了如下的命令: npx create-nuxt-app pic-first-nuxt结果如论如何都创建不出来,要不就卡住,要不就报错&#xff1…

BERT的配置

BERT的配置 BERT-base: BERT-base由12层编码器叠加而成。每层编码器都使用12个注意力头,其中前馈网络层由768个隐藏神经元组成,所以从BERT-base得到的特征向量的大小是768。 我们使用以下符号来表示上述内容。 ● 编码器的层数用L表示。 …