图片验证码

1、字符验证码

/capacha  //默认4位验证码

/capacha?n=x  //x为数字,最小为1,输出指定长度为x的验证码

/capacha?e=1//排除1li0o这些易混淆字符

/*

以JPG格式输出图片

默认4位结果:

capacha1.jpg

如n=6的结果:

capacha.jpg

*/

 

2、计算验证码

/capacha?t=1  //默认20以内加减法验证码

/capacha?t=1&n=x  //x为数字,输出最大数字为x以内的加减法验证码

/*

以JPG格式输出图片

默认20以内结果:

capacha 20.jpg

如t=1&n=100的结果:

capacha 100.jpg

*/

 

3、交互验证码

/capacha?t=2  //默认4个汉字交互验证码

/capacha?t=2&n=x  //x为数字,输出x个汉字验证码

/*

以JPG格式输出图片

默认4个汉字结果:

capacha24.jpg

如t=2&n=8的结果:

capacha 28.jpg

 

t=3的结果:64随机位置点击验证

capacha64.jpg

*/

 

前端HTML获取坐标方法:

<body>
<script type="text/javascript">
function verify(obj)
{  var e=window.event;
    var x=e.clientX-obj.offsetLeft;
 var y=e.clientY-obj.offsetTop;
 jc_$.request('/test/verifycha.htm','{"x":'+x+',"y":'+y+'}',function(res)
  {
   if(res=='true')
   {alert("验证成功");
   }
   else
   {alert("验证失败");
    obj.src="/capacha?t=2&n=8&ts="+new Date().getTime();
   }
  },'post'
  );
}
</script>
<div style="margin-left:300px;margin-top:200px;"><img src="/capacha?t=2&n=8" onclick="verify(this)"/></div>
</body>

 

4、验证码获取

String verCode=session("verCode").toString();

String verCode=sess2str("verCode");

int verCode=sess2int("verCode");

int [] verCode=(int[])session("verCode");//交互式验证码

 

5、验证

/*验证后,无论成功失败,验证码将会删除,前端必须重新刷新验证码*/

boolean verifyCapacha(String verCode)//默认字符式验证码验证,返回true验证通过,返回false验证失败

boolean verifyCapacha(int verCode)//t=1计算式验证码结果验证,返回true验证通过,返回false验证失败

boolean verifyCapacha(int verX,int verY)//t=2交互式验证码验证,返回true验证通过,返回false验证失败

boolean verifyLetterPos(int posX,int posY)//t=3交互式验证码验证,返回true验证通过,返回false验证失败

6、清空验证码

void session("verCode",null)