You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package models
import ( "github.com/ouxuanserver/osmanthuswine/src/core" "strings" "time" )
type Sensitive struct { Id int64 `json:"id"` Keyword string `json:"keyword" description:"关键字"` Host string `json:"host" description:"二级域名"` Category string `json:"category" description:"类别"` IsDelete bool `json:"is_delete" xorm:"default(0)" description:"是否已删除"` CreateAt time.Time `json:"create_at" xorm:"created"` UpdateAt time.Time `json:"update_at" xorm:"updated"` }
var ( cacheSensitive = make([]*Sensitive, 0) currentSensitiveTime = time.Time{} )
func GetSensitive() []*Sensitive { if len(cacheSensitive) == 0 || time.Now().Sub(currentSensitiveTime).Hours() > 24 { core.GetXormAuto().Where("is_delete=0").Find(&cacheSensitive) currentSensitiveTime = time.Now() } return cacheSensitive }
//匹配是否包含敏感字眼
func IsSensitive(str string) bool { for _, v := range GetSensitive() { if strings.Contains(str, v.Keyword) { return true } } return false }
|