mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	5秒盾增加匹配条件
This commit is contained in:
		@@ -2,17 +2,20 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
package serverconfigs
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
 | 
					import (
 | 
				
			||||||
 | 
						"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UAMConfig UAM配置
 | 
					// UAMConfig UAM配置
 | 
				
			||||||
type UAMConfig struct {
 | 
					type UAMConfig struct {
 | 
				
			||||||
	IsPrior bool `yaml:"isPrior" json:"isPrior"`
 | 
						IsPrior bool `yaml:"isPrior" json:"isPrior"`
 | 
				
			||||||
	IsOn    bool `yaml:"isOn" json:"isOn"`
 | 
						IsOn    bool `yaml:"isOn" json:"isOn"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	AddToWhiteList    bool                 `yaml:"addToWhiteList" json:"addToWhiteList"`       // 是否将IP加入到白名单
 | 
						AddToWhiteList    bool                           `yaml:"addToWhiteList" json:"addToWhiteList"`       // 是否将IP加入到白名单
 | 
				
			||||||
	OnlyURLPatterns   []*shared.URLPattern `yaml:"onlyURLPatterns" json:"onlyURLPatterns"`     // 仅限的URL
 | 
						OnlyURLPatterns   []*shared.URLPattern           `yaml:"onlyURLPatterns" json:"onlyURLPatterns"`     // 仅限的URL
 | 
				
			||||||
	ExceptURLPatterns []*shared.URLPattern `yaml:"exceptURLPatterns" json:"exceptURLPatterns"` // 排除的URL
 | 
						ExceptURLPatterns []*shared.URLPattern           `yaml:"exceptURLPatterns" json:"exceptURLPatterns"` // 排除的URL
 | 
				
			||||||
	MinQPSPerIP       int                  `yaml:"minQPSPerIP" json:"minQPSPerIP"`             // 启用要求的单IP最低平均QPS
 | 
						MinQPSPerIP       int                            `yaml:"minQPSPerIP" json:"minQPSPerIP"`             // 启用要求的单IP最低平均QPS
 | 
				
			||||||
 | 
						Conds             *shared.HTTPRequestCondsConfig `yaml:"conds" json:"conds"`                         // 匹配条件
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewUAMConfig() *UAMConfig {
 | 
					func NewUAMConfig() *UAMConfig {
 | 
				
			||||||
@@ -38,6 +41,14 @@ func (this *UAMConfig) Init() error {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// conds
 | 
				
			||||||
 | 
						if this.Conds != nil {
 | 
				
			||||||
 | 
							err := this.Conds.Init()
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -62,3 +73,10 @@ func (this *UAMConfig) MatchURL(url string) bool {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return true
 | 
						return true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (this *UAMConfig) MatchRequest(formatter func(s string) string) bool {
 | 
				
			||||||
 | 
						if this.Conds == nil {
 | 
				
			||||||
 | 
							return true
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return this.Conds.MatchRequest(formatter)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user