diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index a70366c..7230d2e 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -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) ### 功能更新 diff --git a/docs/api/README.md b/docs/api/README.md index 0aad276..514790b 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -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 ``` diff --git a/docs/update.tgz b/docs/update.tgz deleted file mode 100644 index b78325e..0000000 Binary files a/docs/update.tgz and /dev/null differ diff --git a/docs/waf-install b/docs/waf-install index 66ea25f..279cbbf 100644 Binary files a/docs/waf-install and b/docs/waf-install differ diff --git a/docs/wafversion b/docs/wafversion index 2ffa6b0..0fd9500 100644 --- a/docs/wafversion +++ b/docs/wafversion @@ -1 +1 @@ -4.0.1 \ No newline at end of file +4.1.0 \ No newline at end of file diff --git a/plugins/kafka-logger.lua b/plugins/kafka-logger.lua index d7a78ea..8745e1f 100644 --- a/plugins/kafka-logger.lua +++ b/plugins/kafka-logger.lua @@ -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",