以用户登录验证为例介绍验证码设计逻辑,同样验证码可以在其他需要验证的地方使用。
一、 图片验证码
1、 前台从后台获取验证码,并以图片形式显示,同时后台把产生的验证码存在该用户请求的session中,等待用户验证。
2、 用户在前台输入看到的图片上的验证码,然后提交到后台,与后台session中的验证码比较,如果相等允许登录,不相等提示验证码错误,不允许登录。
二、 短信验证码
1、 前台点击“获取验证码”,后台产生验证码并以短信形式发送到用户手机,同时验证码存在数据库中,等待用户验证。
2、 用户在前台输入短信收到的验证码,然后提交到后台,与后台数据库中的验证码比较,如果相等允许登录,不相等提示验证码错误,不允许登录。
注意:
1、 无论哪种方式验证码都是后台产生的,而不是前台产生的。
2、 图片验证码的目的是方式用户频繁操作,防止暴力破解,可以频繁获取验证码。
3、 手机验证码的目的是确认用户身份,防止别人使用自己的帐号,短信验证码不允许频繁获取,设定一定的时间间隔。