基于位置验证的图形验证码
作者:邵发
官网:http://afanihao.cn/java
本文是Java学习指南系列教程的官方配套文档。内容介绍一种基于位置的验证码的实现,附演示说明和项目源码。
1. 基于位置的图形验证码
下面演示一种基于位置的验证码,示意图如下。
( 项目演示http://127.0.0.1:8080/demo/test )
和所有的验证码一样,此验证码依赖人的视觉。用户需要用鼠标文字在图片中的出现位置。当用户点中正确时,则验证通过。否则验证失败。
2. 验证码图片的生成
总体上,后台需要随机的生成一张图片,将等识别目标和干扰目标都绘制在图片中。此图片在前端页面中显示,前端将用户点击的位置坐标(clickX, clickY)发给后台,后台校验点击的位置是否正确。
首先,后台随机挑选一些文字用于显示,其中一个文字为识别目标,其他文字为干扰文字。例如,drawChars = "羊马猴",选取“猴”为识别目标。