图片验证码选型

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

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

java下的captcha api主要有两个, simple captchajcaptcha

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

	<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。
<img src="<c:url value='/captcha.jpg?${randomStr}'/>">

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

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

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

另:google和ms都有自己的,一般用在注册上。

你可能感兴趣的:(spring,.net,servlet,struts,Rails)