mirror of https://github.com/Safe3/uuWAF
v4.1.0
parent
022c3cb861
commit
cfb13f6b99
|
@ -1,4 +1,15 @@
|
|||
## [4.0.1](https://github.com/Safe3/uuWAF/compare/v4.0.1...v3.3.3) (2024-03-27)
|
||||
## [4.1.0](https://github.com/Safe3/uuWAF/compare/v4.1.0...v4.0.1) (2024-04-16)
|
||||
|
||||
|
||||
### 功能更新
|
||||
|
||||
* 插件功能新增SSL处理阶段,并将原各阶段函数细分为pre、post前后两个小阶段
|
||||
* 新增日志刷新按钮
|
||||
* 优化固件升级判断逻辑
|
||||
|
||||
|
||||
|
||||
## [4.0.1](https://github.com/Safe3/uuWAF/compare/v4.0.1...v3.3.3) (2024-04-10)
|
||||
|
||||
|
||||
### 功能更新
|
||||
|
|
|
@ -417,7 +417,7 @@ return false
|
|||
|
||||
### 插件编写
|
||||
|
||||
一个标准的插件包含以下几个部分,每个部分若无功能实现可省略。
|
||||
一个标准的插件包含以下几个部分,每个部分若无功能实现可省略,每个大阶段分为pre和post前后两个小阶段,分别代表南墙逻辑处理执行前和南墙逻辑处理执行后。南墙v4.1.0之前的版本没有小阶段,请使用req_filter、resp_header_filter、resp_body_filter、log。
|
||||
|
||||
```lua
|
||||
local _M = {
|
||||
|
@ -425,23 +425,53 @@ local _M = {
|
|||
name = "kafka-logger" -- 插件名称
|
||||
}
|
||||
|
||||
-- 请求阶段过滤函数
|
||||
function _M.req_filter(waf)
|
||||
-- ssl阶段前过滤
|
||||
function _M.ssl_pre_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回header阶段过滤函数
|
||||
function _M.resp_header_filter(waf)
|
||||
-- ssl阶段后过滤
|
||||
function _M.ssl_post_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回body阶段过滤函数
|
||||
function _M.resp_body_filter(waf)
|
||||
-- 请求阶段前过滤
|
||||
function _M.req_pre_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 日志记录阶段执行函数
|
||||
function _M.log(waf)
|
||||
-- 请求阶段后过滤
|
||||
function _M.req_post_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回header阶段前过滤
|
||||
function _M.resp_header_pre_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回header阶段后过滤
|
||||
function _M.resp_header_post_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回body阶段前过滤
|
||||
function _M.resp_body_pre_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 返回body阶段后过滤
|
||||
function _M.resp_body_post_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 日志记录阶段前过滤
|
||||
function _M.log_pre_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
-- 日志记录阶段后过滤
|
||||
function _M.log_post_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
|
@ -450,6 +480,10 @@ return _M
|
|||
|
||||
|
||||
|
||||
- #### SSL阶段过滤函数
|
||||
|
||||
- 该阶段用于获取客户端请求的域名和设置SSL证书,waf变量的值为nil。
|
||||
|
||||
- #### 请求阶段过滤函数
|
||||
|
||||
- 该阶段用于过滤客户端发送的请求数据,waf变量同规则变量一致,可自行实现该函数功能。
|
||||
|
@ -492,11 +526,11 @@ return _M
|
|||
有时为了在各个执行函数间共享同一个数据,可以通过给waf.ctx赋值来实现,如:
|
||||
|
||||
```lua
|
||||
function _M.resp_body_filter(waf)
|
||||
function _M.resp_body_pre_filter(waf)
|
||||
waf.ctx = "share"
|
||||
end
|
||||
|
||||
function _M.log(waf)
|
||||
function _M.log_pre_filter(waf)
|
||||
log.errLog(waf.ctx)
|
||||
end
|
||||
```
|
||||
|
|
BIN
docs/update.tgz
BIN
docs/update.tgz
Binary file not shown.
BIN
docs/waf-install
BIN
docs/waf-install
Binary file not shown.
|
@ -1 +1 @@
|
|||
4.0.1
|
||||
4.1.0
|
|
@ -11,20 +11,6 @@ local _M = {
|
|||
name = "kafka-logger"
|
||||
}
|
||||
|
||||
--[[
|
||||
function _M.req_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
function _M.resp_header_filter(waf)
|
||||
|
||||
end
|
||||
|
||||
function _M.resp_body_filter(waf)
|
||||
|
||||
end
|
||||
--]]
|
||||
|
||||
local function kafkaLog(_, brokerList, info)
|
||||
local kp = producer:new(brokerList, { producer_type = "async" })
|
||||
local key = "key"
|
||||
|
@ -35,7 +21,7 @@ local function kafkaLog(_, brokerList, info)
|
|||
end
|
||||
end
|
||||
|
||||
function _M.log(waf)
|
||||
function _M.log_post_filter(waf)
|
||||
local brokerList = {
|
||||
{
|
||||
host = "127.0.0.1",
|
||||
|
|
Loading…
Reference in New Issue