思路:
1. 准备好10张或20张不同规格的
图片,按规格
分类到不同
文件夹,每个
文件夹的
图片从1开始顺序递增命名,为了
随机选择
图片。
2.前端提交规格比如200*300,根据规格选择原图,并初始化 小正方块的长 b 和 小正方块的y轴坐标 c(不用
随机,固定值) 等其他数据。
3.
随机在原图的[b,原图宽度-b]上取
一个值 a作为切图的x坐标开始点,y坐标,后端使用gdi 切出作为填充的小方块
图片,把a保存到session中。
然后把原图 [a,c]处的区域填充,作为大图。
4.
图片转base64,返回大图 小图 c 小图 长 宽
5. 前端渲染,实现 刷新
图片,拖拽
功能。
6 前端拖动结束,把x轴坐标传回,和session中存的a值比对,在误差范围内验证通过。否则 session保存
错误数加一,超过多次
错误,可在前端控制限制验证。
这个作者还加了
图片混淆
功能,和判断是否人机验证
功能。详细看源码,
代码和逻辑都十分的清晰。
github地址:
https://github.com/eatage/VerificationCode
快速下载地址:
http:////files.cnblogs.com/files/HelloQLQ/VerificationCode-master.zip
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。