Talk is Cheap, Show me the Code! <<网站首页文章列表 来聊一聊这个被淘汰的图片验证码 前言这里只讨论验证码的实现方法,不对验证码的用户体验进行探讨。下面就是今天要讨论的验证码样子:从上图可以看出,这个验证码分为两部分:+ 点击区域(包含文字“猎技公网上科络”,其实就是猎上网络科技)。+ 下方提示区域(包含文字“猎上网络”),提示用户要在点击区域按顺序点击哪些文字。 -------- 点击区域的原始文字分布通过CSS定位,将点击区域的图片展示给用户,通过JS让用户可以在该区域的文字上进行点击和取消点击。 随机定位该区域文字是通过程序进行了随机定位,目的就是打乱顺序,提高识别词组的难度。 随机缩放对所有文字进行了随机的缩放,为了肉眼可辨认,缩放值在一定范围内,再次提高文字识别难度。缩放的原则就是人眼可以快速识别,但是干扰了机器识别。 随机旋转对所有文字在一定角度内进行了旋转,进一步提高识别难度。变形的原则就是,人眼快速识别,但是干扰机器识别。可以进一步对文字进行扭曲等等。 随机颜色对所有文字进行文字前景色的随机,结合背景色的混淆,进一步提高识别难度。 文字识别的干扰还可以对文字区域进行背景图片填充,通过增加像素点的颜色干扰提示识别难度。有时候增加背景图之后,背景图会与随机的文字颜色进行融合,不仅提高了机器识别难度,更增加了肉眼识别难度。因此可以在文字的同坐标下,增加一个与之同缩放同旋转的大一号的浅色相同的文字,作为文字描边。这个描边是在目标文字之下的,所以不会是一个完全描边,但是大大降低了肉眼识别难度。---- 目标文字分布通过CSS定位,将提示区域的图片展示给用户,并在图片前方提示用户“按顺序 验证码 Java 图片处理 Canvas 2020-06-02 浏览(262) 阅读原文>> 1 栏目导航 关于我 不止技术 工程化应用(23) 技术学习/探索(32) 自娱自乐(2) 还有生活 随便写写(1) 娱乐/放松(1) 点击排行 SpringBoot2从零开始(二)——多数据源配置 搜索引擎进阶——IK扩展之动态加载与同义词 从零开发参数同步框架(二)—— 前期准备之工具类 Nginx的nginx.conf配置部分解释 springMVC中controller参数拦截问题处理 Maven项目一键打包、上传、重启服务器 微信小程序深入踩坑总结 微信小程序的搜索高亮、自定义导航条等踩坑记录 标签云 Java(19) 搜索引擎(13) Solr(7) 参数同步(6) SpringBoot(4) ES(3) ElasticSearch(3) JVM(3) Netty(3) Spring(3) mongoDB(3) 设计模式(3) Curator(2) Docker(2) Dubbo(2) 大家推荐 魔神重返战场!厄祭战争的巴巴托斯:第四形态 搜索引擎入门——Solr查询参数详解以及如何使用Java完成对接 来聊一聊这个被淘汰的图片验证码 搜索引擎入门——聊聊schema.xml配置 搜索引擎入门——启动第一个Solr应用 君子性非异也,善假于物也——功能强大的Postman 择其善而从之——我为什么开始学习ElasticSearch 实现一个关于队列的伪需求是一种怎样的体验