https://github.com/flamego/captcha
Package captcha is a middleware that provides captcha service for Flamego
https://github.com/flamego/captcha
captcha flamego go middleware
Last synced: 4 months ago
JSON representation
Package captcha is a middleware that provides captcha service for Flamego
- Host: GitHub
- URL: https://github.com/flamego/captcha
- Owner: flamego
- License: mit
- Created: 2021-10-22T15:31:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-03T19:28:05.000Z (10 months ago)
- Last Synced: 2025-08-03T19:34:40.359Z (10 months ago)
- Topics: captcha, flamego, go, middleware
- Language: Go
- Homepage:
- Size: 689 KB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# captcha
[](https://github.com/flamego/captcha/actions?query=workflow%3AGo)
[](https://pkg.go.dev/github.com/flamego/captcha?tab=doc)
Package captcha is a middleware that provides captcha service for [Flamego](https://github.com/flamego/flamego).
## Installation
```zsh
go get github.com/flamego/captcha
```
## Getting started
```html
{{.CaptchaHTML}}
Submit
```
```go
package main
import (
"net/http"
"github.com/flamego/captcha"
"github.com/flamego/flamego"
"github.com/flamego/session"
"github.com/flamego/template"
)
func main() {
f := flamego.Classic()
f.Use(session.Sessioner())
f.Use(captcha.Captchaer())
f.Use(template.Templater())
f.Get("/", func(t template.Template, data template.Data, captcha captcha.Captcha) {
data["CaptchaHTML"] = captcha.HTML()
t.HTML(http.StatusOK, "home")
})
f.Post("/", func(c flamego.Context, captcha captcha.Captcha) {
if !captcha.ValidText(c.Request().FormValue("captcha")) {
c.ResponseWriter().WriteHeader(http.StatusBadRequest)
_, _ = c.ResponseWriter().Write([]byte(http.StatusText(http.StatusBadRequest)))
} else {
c.ResponseWriter().WriteHeader(http.StatusOK)
_, _ = c.ResponseWriter().Write([]byte(http.StatusText(http.StatusOK)))
}
})
f.Run()
}
```
## Getting help
- Read [documentation and examples](https://flamego.dev/middleware/captcha.html).
- Please [file an issue](https://github.com/flamego/flamego/issues) or [start a discussion](https://github.com/flamego/flamego/discussions) on the [flamego/flamego](https://github.com/flamego/flamego) repository.
## License
This project is under the MIT License. See the [LICENSE](LICENSE) file for the full license text.