图形验证码最佳攻略2

时间:2024-03-21 15:18:37

下面是注册

如果是手机用户注册,需要发送短信验证码
图形验证码最佳攻略2
 说明:

发送图形验证码是为了拦截发送短信的.但是不拦截"注册帐号"

但是,用户体验很别扭,因为图形验证码很显然是错误的,但是却可以注册成功.

 如果点击注册帐号 ,也要校验图形验证码,那就让用户输入两次图形验证码,显然不是很人性化

注意:注册时发送短信每次都需要输入图形验证码,而不是发送3次短信才要输入.

那么如何解决这个问题呢?

把注册拆分为两步:

第一步:发送短信验证码
图形验证码最佳攻略2
 

 

第二步:设置密码和用户名
图形验证码最佳攻略2
 

这样达到的目的:

(1)可以通过图形验证码拦截发送手机短信;

(2)注册流程只需要输入一次图形验证码

 

 

每次校验图形验证码,都刷新后台的图形验证码

Java代码  图形验证码最佳攻略2
  1. /*** 
  2.     * 校验图形验证码 
  3.     * 
  4.     * @param request 
  5.     * @param response 
  6.     * @param authImage 
  7.     * @return : 返回null则表示校验通过 
  8.     */  
  9.    public WapResponseDto verifyImageCode(HttpServletRequest request,  
  10.                                          HttpServletResponse response,  
  11.                                          String authImage) {  
  12.        //检查是否需要校验图形验证码  
  13.        WapResponseDto wapResponseDto = null;  
  14.        if (isNeedImageCode(request, response)) {//需要图形验证码  
  15.            String authCode1 = getAuthCode(request, response);  
  16.            if (!VerifyCodeUtils.checkAuthImageCode(authImage, authCode1)) {  
  17.                wapResponseDto = new WapResponseDto();  
  18.                wapResponseDto.setResult(false);  
  19.                wapResponseDto.setErrorFieldName("authImage");  
  20.                wapResponseDto.setErrorMessage("图形验证码错误,请重新输入");  
  21.                wapResponseDto.setNeedAuthImage(true);  
  22.                resetAuthImageCode(request, response);//不管是否校验通过,都会刷新服务器端的图形验证码  
  23.                return wapResponseDto;  
  24.            }  
  25.        }  
  26.        resetAuthImageCode(request, response);  
  27.        return null;  
  28.    }  

 
图形验证码最佳攻略2
 应用:
图形验证码最佳攻略2