图片验证码

学名叫CAPTCHA,主要意思是检验人工输入,而非机器人。

主要形式有两种图片和声音,以图片为主,抵抗ocr,声音目前是辅助手段,有些视力不好的可以用声音来辅助。

java下的captcha api主要有两个,simple captcha和jcaptcha。

simple captcha 比较老, 最新的是2005年,但是使用非常简单,加一个servlet,然后直接当成image使用就行了。

Xml代码

1. <servlet>
2. <servlet-name>captcha</servlet-name>
3. <servlet-class>nl.captcha.servlet.CaptchaServlet</servlet-class>
4. </servlet>
5. <servlet-mapping>
6. <servlet-name>captcha</servlet-name>
7. <url-pattern>/captcha.jpg</url-pattern>
8. </servlet-mapping>

<servlet>
<servlet-name>captcha</servlet-name>
<servlet-class>nl.captcha.servlet.CaptchaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>captcha</servlet-name>
<url-pattern>/captcha.jpg</url-pattern>
</servlet-mapping>


接受很多参数,可以细调。

使用的时候就当成image,但是最好是加一个随机参数,这样可以避免cache。
Html代码

1. <img src="<c:url value='/captcha.jpg?${randomStr}'/>">

<img src="<c:url value='/captcha.jpg?${randomStr}'/>">


${randomStr}就是自定义的随机值。

simple captcha还有个惊喜的地方就是支持中文字验证。

jcaptcha 很复杂,但是跟其他框架有接口,比如spring, struts,jroller等,而且有声音辅助功能,就是可以念出字来,目前声音自动识别似乎并不多见。

另:google和ms都有自己的,一般用在注册上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值