一种验证码识别系统及方法技术方案

技术编号:14995439 阅读:35 留言:0更新日期:2017-04-04 01:01
本发明专利技术公开了一种验证码识别系统,该系统包括第三方验证码模块、验证码适配器模块、OCR自动识别引擎模块和人工辅助识别子系统模块。此外,本发明专利技术还公开了一种验证码识别方法。通过本发明专利技术提供OCR自动识别验证码的同时,再提供人工辅助识别的子系统,大大提高了验证码的识别率,使自动化测试流程不再因为验证码的存在而无法进行。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种验证码识别系统及方法。
技术介绍
验证码(CAPTCHA)是“CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上用验证码是现在很多网站通行的方式,利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。目前验证码已经从简单的把随机数生成图片,到增加变形,再到增加干扰,以及更复杂的问题,甚至到图形的发展过程。为了更好的识别验证码,目前有的做法是通过修改服务器端代码屏蔽验证码,但是需要拥有服务器端代码的修改权限,且如果在生产系统上屏蔽验证码会带来安全风险。还有的做法是通过修改服务器端代码增加万能验证码,这样也需要拥有服务器端代码的修改权限,且如果被攻击者探测得到万能验证码,则验证码会失去作用。因此面对各种各样错综复杂的验证码,在自动化测试中,如何通过验证码也就成为了一个关键点。
技术实现思路
本专利技术的目的是为了克服现有技术的缺陷,提供一种验证码识别系统及方<br>法,解决了自动化测试或其它需要对验证码识别的场合中自动化流程不能自动识别验证码等问题。为实现上述目的,本专利技术提供了一种验证码识别系统,该系统包括第三方验证码模块、验证码适配器模块、OCR自动识别引擎模块和人工辅助识别子系统模块;其中,第三方验证码模块,是指第三方待识别的验证码;验证码适配器模块,包括验证码信息数据库、获取适配器、校验适配器;OCR自动识别引擎模块,对预处理后的图片进行识别并返回识别结果;人工辅助识别子系统模块,包括验证码展示、验证码输入及校验结果展示模块。进一步地,第三方验证码包括多种不同类型的,例如字符图片、算术计算、问答、根据提示点击、根据提示拖动。进一步地,获取适配器将不同验证码转化成统一的接口提供给后方程序,后方程序获得验证码后做进一步处理;通过校验适配器以统一的接口将识别得到的验证码提交到第三方网站或应用中校验,并返回校验的结果。进一步地,人工辅助识别子系统能够是一个专用客户端,或者是一个web应用,或者嵌入到其它需要验证码的应用中,又或者是一个基于验证码识别的小游戏。此外,本专利技术还提供了一种验证码识别方法,该方法的流程为:s1.分析第三方验证码,识别验证码显示的位置、验证码输入的位置、提交按钮的位置,并保存到数据库中;s2.截取要验证的验证码,判定是否存在数据库中,如果不在则返回s1;如果在数据库中,则调用OCR自动识别引擎对验证码进行识别;s3.如果OCR无法自动识别,则调用人工辅助识别子系统对数据库中的验证码进行识别;s4.识别后的验证码结果回填并展示给第三方网站或应用。进一步地,调用人工辅助识别子系统对数据库中的验证码进行识别,是由大量的专业识别人员、普通用户或者游戏玩家对验证码进行识别,并把识别结果回填到验证码输入框中或用户操作行为转化为动作指令操作界面,并提交校验。本专利技术技术方案带来的有益效果:通过本专利技术提供OCR自动识别验证码的同时,再提供人工辅助识别的子系统,大大提高了验证码的识别率,使自动化测试流程不再因为验证码的存在而无法进行。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术实施例的系统架构图;图2是本专利技术实施例的方法流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、广告SPAM等问题。但与此同时,验证码技术的使用却使得自动化测试面临了较大的困难——由于验证码的存在,传统的“录制”-“回放”工具不能识别验证码而失效。本专利技术采用全自动并结合人工辅助的方式对验证码进行识别并返回到自动化测试的流程,使流程不再被验证码中断无法继续执行。本专利技术提供的一种验证码识别系统,解决了自动化测试或其它需要对验证码识别的场合中自动化流程不能自动识别验证码等问题。其系统架构如图1所示。本系统包括第三方验证码模块、验证码适配器模块、OCR自动识别引擎模块和人工辅助识别子系统模块。1)第三方验证码模块该模块是第三方待识别的验证码,此验证码可以是多种不同类型的,字符图片、算术计算、问答、根据提示点击、根据提示拖动等。2)验证码适配器模块该模块包括验证码信息数据库、获取适配器、校验适配器等。通过获取适配器将不同验证码转化成统一的接口提供给后方程序,后方程序获得验证码后做进一步处理;通过校验适配器以统一的接口将识别得到的验证码提交到第三方网站或应用中校验,并返回校验的结果。3)OCR自动识别引擎模块通过对简单字符图片、简单算术计算等简单的验证码进行去除干扰、分隔字符、旋转等预处理后,使用OCR技术对预处理后的图片进行识别并返回识别结果。4)人工辅助识别子系统模块此子系统包括验证码展示、验证码输入及校验结果展示模块,此系统可以是一个专用客户端,或者是一个web应用,或者嵌入到其它需要验证码的应用中,又或者是一个基于验证码识别的小游戏。由用户人工识别验证码后,根据验证码的类型,如文本型的则填入文本内容;计算型的则填入计算结果;点击型的则点击界面并记录点击的坐标;拖动型的则拖动界面组件并记录拖动的起始坐标;最后把用户的行为回传到校验适配器。如图2所示为本专利技术实施例的方法流程图,具体流程如下:1)人工分析第三方网站、应用中本文档来自技高网...

【技术保护点】
一种验证码识别系统,其特征在于,本系统包括第三方验证码模块、验证码适配器模块、OCR自动识别引擎模块和人工辅助识别子系统模块;其中,第三方验证码模块,是指第三方待识别的验证码;验证码适配器模块,包括验证码信息数据库、获取适配器、校验适配器;OCR自动识别引擎模块,对预处理后的图片进行识别并返回识别结果;人工辅助识别子系统模块,包括验证码展示、验证码输入及校验结果展示模块。

【技术特征摘要】
1.一种验证码识别系统,其特征在于,本系统包括第三方验证码模块、验
证码适配器模块、OCR自动识别引擎模块和人工辅助识别子系统模块;其中,
第三方验证码模块,是指第三方待识别的验证码;
验证码适配器模块,包括验证码信息数据库、获取适配器、校验适配器;
OCR自动识别引擎模块,对预处理后的图片进行识别并返回识别结果;
人工辅助识别子系统模块,包括验证码展示、验证码输入及校验结果展示
模块。
2.根据权利要求1所述的系统,其特征在于,第三方验证码包括多种不同
类型的,例如字符图片、算术计算、问答、根据提示点击、根据提示拖动。
3.根据权利要求1所述的系统,其特征在于,获取适配器将不同验证码转
化成统一的接口提供给后方程序,后方程序获得验证码后做进一步处理;通过
校验适配器以统一的接口将识别得到的验证码提交到第三方网站或应用中校
验,并返回校验的结果。
4.根据权利要求1所述的系统,其特征在于,人工辅助识...

【专利技术属性】
技术研发人员:李幼庭邓文广
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1