一般网站的验证码校验是怎么做的?

原来我们是放在后端做校验的,现在为了更好的用户体验放到前端来,但是验证码的check接口只支持一次调用,调用完老的验证码就失效了。

问题是:后端是否还要做验证码的校验?如何校验?

我想到的方案是,后端提供一个接口给前端做实时的校验,并根据sessionid记录验证的结果。当表单提交的时候,如果发现之前已经校验通过便不再校验,否则后端校验

阅读 10k
3 个回答

用户访问一个页面,如果是第一次,那么response里面的set-cookies字段就为客户端设置cookies

下次访问的时候,用户就携带cookies去请求

当用户请求的页面有验证码的时候,那么后端就会生成验证码文本,然后画成图片,记录用户请求的cookies,与验证码绑定

用户输入验证码,提交到后端,后端验证cookies和输入的验证码是否匹配

验证码不能在前端生成,不然爬虫什么的直接就爬了,验证码是防止机器人的,而不只是让用户更麻烦

新手上路,请多包涵

呵呵,反正谷歌的是全民打字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进