你的位置:首页 > Java教程

[Java教程]如何避免登录时候在服务端比较验证码错误问题


问题:WebApp手机验证码登录经常出现验证码错误登录失败。

分析原因:登录的验证方法通过一般处理程序写在了服务端,每次通过ajax访问一般处理程序返回发送成功还是失败,最后把前台输入的手机号与验证码有传给一般处理程序去比对。经常出现验证码错误,登录失败,但是看短信又是发送的验证码没错。而服务端的验证码又在session中存着,找了好久才找到了问题了。是因为如果第一次发送验证码成功但是没有去验证呢,第二个人有申请了一次验证,导致第一次的验证码被第二次的验证码覆盖了,所以第一个人在去验证的话就无法验证成功了。

解决思路:把验证方法放在客户端的Js中去验证。每次ajax请求发送验证码的一般处理程序时候,发送成功,将发送的验证码当做返回值,在js中接收返回值,最后在每次登陆时候判断用户输入的验证码与ajax返回的是否一致,如果一致则调用登录的服务。这样就避免了之前一直报的  验证码错误的方法。