[waf]可以配置阻止动作的状态码和提示内容

This commit is contained in:
刘祥超
2020-11-22 16:54:48 +08:00
parent 2be941291f
commit 6b8c42fce5
3 changed files with 39 additions and 24 deletions

View File

@@ -153,7 +153,7 @@ func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicyInbound(policyId int64, i
}
// 修改策略
func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicy(policyId int64, isOn bool, name string, description string, inboundJSON []byte, outboundJSON []byte) error {
func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicy(policyId int64, isOn bool, name string, description string, inboundJSON []byte, outboundJSON []byte, blockOptionsJSON []byte) error {
if policyId <= 0 {
return errors.New("invalid policyId")
}
@@ -172,6 +172,9 @@ func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicy(policyId int64, isOn boo
} else {
op.Outbound = "null"
}
if len(blockOptionsJSON) > 0 {
op.BlockOptions = blockOptionsJSON
}
_, err := this.Save(op)
return err
}
@@ -267,5 +270,15 @@ func (this *HTTPFirewallPolicyDAO) ComposeFirewallPolicy(policyId int64) (*firew
}
config.Outbound = outbound
// Block动作配置
if IsNotNull(policy.BlockOptions) {
blockAction := &firewallconfigs.HTTPFirewallBlockAction{}
err = json.Unmarshal([]byte(policy.BlockOptions), blockAction)
if err != nil {
return config, err
}
config.BlockOptions = blockAction
}
return config, nil
}