Exemple #1
0
func main() {
	flag.Parse()
	c = stopforumspam.New(*key)
	searchData := stopforumspam.SearchData{Ip: *ip, Email: *email, Username: *username}
	spamData := stopforumspam.SpamData{SearchData: searchData, Evidence: *evidence}
	if err := c.Add(spamData); err != nil {
		fmt.Println("Add error: ", err)
	} else {
		fmt.Print("successful")
	}
	response, err := c.Search(searchData)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(err, response.Ip, response.Email, response.Username)
}
Exemple #2
0
func ReadConfig() {
	var err error

	AppName = beego.AppConfig.String("appname")
	AppHost = beego.AppConfig.String("apphost")
	AppUrl = beego.AppConfig.String("appurl")
	AppLogo = beego.AppConfig.String("applogo")
	TmpPath = beego.AppConfig.String("tmppath")
	CookieUserName = beego.AppConfig.String("cookieusername")
	CookieRememberName = beego.AppConfig.String("CookieRememberName")
	MySQLHost = beego.AppConfig.String("mysql::host")
	MySQLUser = beego.AppConfig.String("mysql::user")
	MySQLPassword = beego.AppConfig.String("mysql::password")
	MySQLDB = beego.AppConfig.String("mysql::db")
	MongodbHost = beego.AppConfig.String("mongodb::host")
	MongodbName = beego.AppConfig.String("mongodb::name")
	RedisHost = beego.AppConfig.String("redis::host")
	RedisPort = beego.AppConfig.String("redis::port")
	SendcloudDomain = beego.AppConfig.String("sendcloud::domain")
	SendcloudUser = beego.AppConfig.String("sendcloud::user")
	SendcloudKey = beego.AppConfig.String("sendcloud::key")
	From = beego.AppConfig.String("sendcloud::from")
	FromName = beego.AppConfig.String("sendcloud::fromname")

	if err := orm.RegisterDriver("mysql", orm.DR_MySQL); err != nil {
		beego.Error("mysql", err)
		ConfigBroken = true
	}
	if err := orm.RegisterDataBase("default", "mysql", fmt.Sprintf("%s:%s@tcp(%s:3306)/%s?charset=utf8", MySQLUser, MySQLPassword, MySQLHost, MySQLDB)+"&loc=Asia%2FShanghai", 30); err != nil {
		beego.Error("mysql", err)
		ConfigBroken = true
	}

	MongodbSession, err = mgo.Dial(MongodbHost)
	if err != nil {
		beego.Error("mongodb", err)
		ConfigBroken = true
	}

	// cache system
	Cache, err = cache.NewCache("redis", fmt.Sprintf(`{"conn":"%s:%s"}`, RedisHost, RedisPort))
	if err != nil {
		beego.Error("cache", err)
		ConfigBroken = true
	}

	Captcha = captcha.NewWithFilter("/captcha/", Cache)
	Captcha.FieldIdName = "captcha-id"
	Captcha.FieldCaptchaName = "captcha"

	beego.SessionOn = true
	beego.SessionProvider = "redis"
	beego.SessionSavePath = RedisHost + ":" + RedisPort
	beego.SessionCookieLifeTime = 0
	beego.SessionGCMaxLifetime = 86400
	//todo 更好的利用mongodb session

	avatarstore := beego.AppConfig.String("avatar::store")
	switch avatarstore {
	case "local":
		avatarConfig := filestore.Config{FSPath: beego.AppConfig.String("avatar::local_path"), UrlPrefix: beego.AppConfig.String("avatar::url")}
		AvatarFSM, err = filestore.NewManager(avatarstore, avatarConfig)
	}
	if err != nil {
		beego.Error(err)
	}

	//初始化sendcloud,用来发送邮件
	Sendcloud = sendcloud.New()
	Sendcloud.AddDomain(SendcloudDomain, SendcloudUser, SendcloudKey)
	//StopForumSpam
	StopForumSpam = stopforumspam.New(beego.AppConfig.String("stopforumspam::key"))

	//社交帐号登录
	GithubClientId = beego.AppConfig.String("oauth::github_client_id")
	GithubClientSecret = beego.AppConfig.String("oauth::github_client_secret")
	QQClientId = beego.AppConfig.String("oauth::qq_client_id")
	QQClientSecret = beego.AppConfig.String("oauth::qq_client_secret")
	WeiboClientId = beego.AppConfig.String("oauth::weibo_client_id")
	WeiboClientSecret = beego.AppConfig.String("oauth::weibo_client_secret")

}