标签:beego 验证码 接口 captcha html func Cpt store
var Cpt *captcha.Captcha func init() { store := cache.NewMemoryCache() Cpt = captcha.NewWithFilter("/captcha/", store) //一定要写在构造函数里面,要不然第一次打开页面有可能是X Cpt.ChallengeNums = 4 } //返回标识 如果是接口直接返回json数据 func (c *MainController) Get() { captcha, _ := Cpt.CreateCaptcha() c.Data["captcha"] = captcha c.TplName = "login.html" }
html 如果接口做对应处理
<input type="text" name="captcha_id" value="{{.captcha}}"> <a class="captcha" href="javascript:"><img onclick="this.src=('/captcha/{{.captcha}}.png?reload='+(new Date()).getTime())" class="captcha-img" src="/captcha/{{.captcha}}.png"></a>
验证
if !Cpt.VerifyReq(c.Ctx.Request) { base = Base{2, "验证码错误", nil} }
标签:beego,验证码,接口,captcha,html,func,Cpt,store 来源: https://www.cnblogs.com/chengfengchi/p/15905180.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。