在做用户登录功能时,非常多时候都须要验证码支持,验证码的目的是为了防止机器人模拟真有用户登录而恶意訪问,如暴力破解用户password/恶意评论等。
眼下也有一些验证码比較简单,通过一些OCR工具就能够解析出来。另外另一些验证码比較复杂(一般通过如扭曲、加线条/噪点等干扰)防止OCR工具识别。可是在中国就是人多。机器干不了的能够交给人来完毕,所以在中国就有非常多打码平台。人工识别验证码;因此即使比較复杂的如填字、算数等类型的验证码还是能识别的。所以验证码也不是绝对可靠的,眼下比較可靠还是手机验证码,可是对于用户来说相对于验证码还是比較麻烦的。
对于验证码图片的生成。能够自己通过如Java提供的图像API自己去生成,也能够借助如JCaptcha这样的开源Java类库生成验证码图片;JCaptcha提供了常见的如扭曲、加噪点等干扰支持。本章代码基于《第十六章 综合实例》。
一、加入JCaptcha依赖