更新waf插件,丰富规则命中时日志内容 (#537)

This commit is contained in:
rinfx
2023-09-21 15:42:18 +08:00
committed by GitHub
parent b142f51776
commit 2393af5c85
4 changed files with 76 additions and 22 deletions

View File

@@ -83,8 +83,6 @@ func handleInterruption(ctx wrapper.HttpContext, phase string, interruption *cty
panic("Interruption already handled")
}
log.Infof("Transaction interrupted at %s", phase)
ctx.SetContext("interruptionHandled", true)
if phase == "http_response_body" {
return replaceResponseBodyWhenInterrupted(log, replaceResponseBody)
@@ -117,3 +115,25 @@ func replaceResponseBodyWhenInterrupted(logger wrapper.Log, bodySize int) types.
logger.Warn("Response body intervention occurred: body replaced")
return types.ActionContinue
}
func logError(error ctypes.MatchedRule) {
msg := error.ErrorLog(0)
switch error.Rule().Severity() {
case ctypes.RuleSeverityEmergency:
proxywasm.LogCritical(msg)
case ctypes.RuleSeverityAlert:
proxywasm.LogCritical(msg)
case ctypes.RuleSeverityCritical:
proxywasm.LogCritical(msg)
case ctypes.RuleSeverityError:
proxywasm.LogError(msg)
case ctypes.RuleSeverityWarning:
proxywasm.LogWarn(msg)
case ctypes.RuleSeverityNotice:
proxywasm.LogInfo(msg)
case ctypes.RuleSeverityInfo:
proxywasm.LogInfo(msg)
case ctypes.RuleSeverityDebug:
proxywasm.LogDebug(msg)
}
}