mirror of
https://github.com/astaxie/beego.git
synced 2024-11-14 17:30:55 +00:00
46 lines
734 B
Markdown
46 lines
734 B
Markdown
# Captcha
|
|
|
|
an example for use captcha
|
|
|
|
```
|
|
package controllers
|
|
|
|
import (
|
|
"github.com/astaxie/beego"
|
|
"github.com/astaxie/beego/cache"
|
|
"github.com/astaxie/beego/utils/captcha"
|
|
)
|
|
|
|
var cpt *captcha.Captcha
|
|
|
|
func init() {
|
|
// use beego cache system store the captcha data
|
|
store := cache.NewMemoryCache()
|
|
cpt = captcha.NewWithFilter("/captcha/", store)
|
|
}
|
|
|
|
type MainController struct {
|
|
beego.Controller
|
|
}
|
|
|
|
func (this *MainController) Get() {
|
|
this.TplName = "index.tpl"
|
|
}
|
|
|
|
func (this *MainController) Post() {
|
|
this.TplName = "index.tpl"
|
|
|
|
this.Data["Success"] = cpt.VerifyReq(this.Ctx.Request)
|
|
}
|
|
```
|
|
|
|
template usage
|
|
|
|
```
|
|
{{.Success}}
|
|
<form action="/" method="post">
|
|
{{create_captcha}}
|
|
<input name="captcha" type="text">
|
|
</form>
|
|
```
|