Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrInDefense = errors.New("error of in defense")
ErrInDefense 定义处于防御模式需要拦截的错误
Functions ¶
This section is empty.
Types ¶
type SimpleDefense ¶
type SimpleDefense struct {
// contains filtered or unexported fields
}
SimpleDefense 简单防御实现结构
func New ¶
func New(redis *redis.Client, defenseDuration time.Duration, defenseTimes int64) *SimpleDefense
New 创建一个简单实现的防暴力破解实例 @param redis go-redis/redis v7 对象示例 @param defenseDuration 默认防御间隔时长设置,譬如:1分钟内最大尝试次数不得超过5次,此处传值 1 * time.Minute @param defenseTimes 默认防御间隔次数设置,譬如:1分钟内最大尝试次数不得超过5次,此处传值 5
func (*SimpleDefense) Defense ¶
func (s *SimpleDefense) Defense(defenseKey string) error
Defense 设置防御,未超过初始化条件设置防御成功返回nil,超过初始化条件设置防御失败返回error即触发了防御条件需要拦截 @param defenseKey 按默认初始化策略检测指定key防御
func (*SimpleDefense) DefenseCustom ¶
func (s *SimpleDefense) DefenseCustom(defenseKey string, defenseDuration time.Duration, defenseTimes int64) error
DefenseCustom 设置自定义防御,未超过初始化条件设置防御成功返回nil,超过初始化条件设置防御失败返回error即触发了防御条件需要拦截 @param defenseKey 按自定义策略检测指定key防御 @param defenseDuration 防御策略有效期 @param defenseTimes 防御策略有效期内的最大次数
Click to show internal directories.
Click to hide internal directories.