2024-05-17 18:30:33 +08:00
|
|
|
// Copyright 2021 GoEdge goedge.cdn@gmail.com. All rights reserved.
|
2021-07-18 15:51:49 +08:00
|
|
|
|
|
|
|
|
package waf
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/waf/requests"
|
|
|
|
|
"net/http"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type ActionInterface interface {
|
|
|
|
|
// Init 初始化
|
|
|
|
|
Init(waf *WAF) error
|
|
|
|
|
|
2022-05-21 11:17:53 +08:00
|
|
|
// ActionId 读取ActionId
|
|
|
|
|
ActionId() int64
|
|
|
|
|
|
|
|
|
|
// SetActionId 设置ID
|
|
|
|
|
SetActionId(id int64)
|
|
|
|
|
|
2021-07-18 15:51:49 +08:00
|
|
|
// Code 代号
|
|
|
|
|
Code() string
|
|
|
|
|
|
|
|
|
|
// IsAttack 是否为拦截攻击动作
|
|
|
|
|
IsAttack() bool
|
|
|
|
|
|
|
|
|
|
// WillChange determine if the action will change the request
|
|
|
|
|
WillChange() bool
|
|
|
|
|
|
2022-05-21 11:17:53 +08:00
|
|
|
// Perform the action
|
2024-01-20 20:54:41 +08:00
|
|
|
Perform(waf *WAF, group *RuleGroup, set *RuleSet, request requests.Request, writer http.ResponseWriter) PerformResult
|
2021-07-18 15:51:49 +08:00
|
|
|
}
|