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.
|
2 years ago | |
---|---|---|
templates | 8 years ago | |
.drone.yml | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 8 years ago | |
README.md | 3 years ago | |
captcha.go | 2 years ago | |
captcha_test.go | 3 years ago | |
circle.yml | 5 years ago | |
go.mod | 2 years ago | |
go.sum | 2 years ago | |
image.go | 8 years ago | |
image_test.go | 2 years ago | |
siprng.go | 8 years ago | |
siprng_test.go | 8 years ago |
README.md
captcha

Middleware captcha a middleware that provides captcha service for Tango.
Installation
go get gitea.com/tango/captcha
Usage
// main.go
import (
"gitea.com/lunny/tango"
"gitea.com/tango/cache"
"gitea.com/tango/captcha"
)
type CaptchaAction struct {
captcha.Captcha
renders.Renderer
}
func (c *CaptchaAction) Get() {
c.Render("captcha.html", renders.T{
"captcha": c.CreateHtml(),
})
}
func (c *CaptchaAction) Post() string {
if c.Verify() {
return "true"
}
return "false"
}
func main() {
t := tango.Classic()
t.Use(captcha.New())
t.Any("/", new(CaptchaAction))
t.Run()
}
<!-- templates/captcha.tmpl -->
{{.captcha}}
Options
captcha.Captchaer
comes with a variety of configuration options:
// ...
t.Use(captcha.New(captcha.Options{
URLPrefix: "/captcha/", // URL prefix of getting captcha pictures.
FieldIdName: "captcha_id", // Hidden input element ID.
FieldCaptchaName: "captcha", // User input value element name in request form.
ChallengeNums: 6, // Challenge number.
Width: 240, // Captcha image width.
Height: 80, // Captcha image height.
Expiration: 600, // Captcha expiration time in seconds.
CachePrefix: "captcha_", // Cache key prefix captcha characters.
}, cache))
// ...
License
This project is under Apache v2 License. See the LICENSE file for the full license text.