学名叫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都有自己的,一般用在注册上。
主要形式有两种图片和声音,以图片为主,抵抗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都有自己的,一般用在注册上。