验证码处理方法和装置制造方法及图纸

技术编号:10742474 阅读:160 留言:0更新日期:2014-12-10 15:41
本申请公开了一种验证码处理方法,包括:随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;获取验证码背景图片,对所述真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致;在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上。本发明专利技术可以提高机器人程序识别验证码的难度,提高验证码的安全性。

【技术实现步骤摘要】
验证码处理方法和装置
本申请涉及计算机和互联网数据处理
,尤其涉及一种验证码处理方法和装置。
技术介绍
在计算机和互联网数据处理
,验证码是一种区分用户是机器人程序还是人的公共全自动程序。验证码通常使用一些线条和一些不规则的字符组成,用户必须读取这些字符,然后输入这些字符才能成功登陆网站。因为人可以很容易读出图片中的字符,但如果是一段客户端攻击程序(即机器人程序),通过一般手段是很难识别所述验证码的。验证码的作用可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的登录方式。但是,目前的验证码技术只是随机生成一张还有随机字符串的图片,现在也出现了一些更加智能的可以识别图片内容的机器人程序,这种机器人程序具有存储有大量字符图片的数据库,在进行恶意攻击时,这种机器人程序可以对验证码图片中的每一个字符进行抠图,然后利用该字符抠图与数据库中的字符图片进行比对分析,找到与字符抠图相似度最高的字符图片,将该字符图片对应的字符作为识别出的字符,从而自动识别破译出验证码图片中的字符串。现有技术的验证码技术在面对上述机器人程序时,验证码很容易被机器人破译,安全性较低,导致恶意攻击方利用机器人对互联网应用进行大量重复的操作,导致各类互联网应用重则瘫痪,轻则损失各类虚拟资源,让服务提供企业和正常用户的利益饱受侵害。
技术实现思路
有鉴于此,本专利技术的主要目的是提供一种验证码处理方法和装置,可以提高机器人识别验证码的难度,提高验证码的安全性。本专利技术的技术方案是这样实现的:一种验证码处理方法,包括:随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;获取验证码背景图片,对所述真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致;在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上。在一种优选实施例中,所述移动指令为对合并图片的拖拽指令。在一种优选实施例中,所述生成验证码图片,具体包括:为每一组所述验证码对应生成一张验证码图片,所述验证码图片中除验证码外的背景为透明背景。在一种优选实施例中,所述随机生成两组验证码,具体包括:利用预定密钥生成密文;根据当前用户的访问特征信息确定该当前用户对应的难度等级;根据所确定的难度等级,从所述密文中随机获取两组字符串作为验证码,其中难度等级越高,验证码的字符串越复杂。在一种优选实施例中,所述利用预定密钥生成密文,具体包括:获取当前用户的IP地址和浏览器类型,将所述IP地址、浏览器类型和所述预定密钥组合成字符串,再经加密算法进行不可逆加密,生成一串密文。在一种优选实施例中,所述根据当前用户的访问特征信息确定该当前用户对应的难度等级,具体包括:获取当前用户的IP地址和/或浏览器类型;根据预定的不同难度等级对应的IP地址范围、浏览器类型、和/或相同IP地址的请求间隔,判断当前用户的IP地址和/或浏览器类型所对应的难度等级;将该难度等级确定为该当前用户对应的难度等级。在一种优选实施例中,在所述生成验证码图片之后,对所述验证码图片进行镂空处理之前,进一步包括:对所述验证码图片中的验证码进行扭曲效果处理。在一种优选实施例中,所述对所述验证码图片中的验证码进行扭曲效果处理,具体包括:创建一个与验证码图片的尺寸相同的新画布,把原验证码图片按逐个像素的方式把每个像素都复制到该画布上,在该新画布上的像素点位置通过正弦函数f(x)=sin(a*2π*y/height)对像素点的y轴坐标进行处理,公式中f(x)为新画布上的像素点的y轴坐标,y为原验证码图片的相同像素点的y轴坐标,height为原验证码图片的高度。在一种优选实施例中,该方法进一步包括:监测在输入框输入的字符串,判断该字符串是否与所述真实验证码一致,若一致则验证通过,否则验证失败。一种验证码处理装置,包括:验证码生成模块,用于随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;验证码图片生成模块,用于生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;合并图片生成模块,用于获取验证码背景图片,对所述真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;验证页面生成模块,用于将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致;在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;移动模块,用于监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上。与现有技术相比,本专利技术随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;并生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;然后对其中的真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致,这样使人眼识别不出该真实验证码,而只能看到干扰验证码;之后在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上,这时,由于该可视区域的颜色与真实验证码的颜色不一致,从而是人眼识别出真实验证码非镂空块与可视区域的颜色反差,使人眼识别出真实验证码。由于本专利技术需要通过移动指令,并将合并图片移动到可视区域之上才可以显示出真实验证码,而该移动指令的发出和移动到可视区域之上的操作,对于机器人程序来说是非常难做到的,因此本专利技术可以提高机器人程序识别验证码的难度,提高验证码的安全性。附图说明图1为本专利技术所述验证码处理方法的一种流程图;图2为本专利技术所生成的验证码图片的一种示意图;图3所示为一张验证码背景图片的示意图;图4a为本专利技术一种实施例中所采用镂空处理蒙层的示意图;图4b所示为经过镂空处理的验证码背景图片的一种示意图;图4c为经过与图4b相同镂空处理的真实验证码的一种示意图;图5a为本专利技术所述合并图片置于底色为白色的背景之上的一种示意图;图5b为本专利技术所述合并图片置于底色为灰色的背景之上的一种示意图;图6a为一种验证码输入页面的示意图;图6b为验证码输入页面中将合并图片拖拽到可视区域的一种示意图;图6c为验证码输入页面中将合并图片完全拖拽到可视区域的一种示意图;图7为本专利技术所述验证码处理装置的一种组成示意图。具体实施方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。图1为本本文档来自技高网...
验证码处理方法和装置

【技术保护点】
一种验证码处理方法,其特征在于,包括:随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;获取验证码背景图片,对所述真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致;在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上。

【技术特征摘要】
1.一种验证码处理方法,其特征在于,包括:随机生成两组验证码,一组作为真实验证码,另一组作为干扰验证码;生成验证码图片,其中包括真实验证码和干扰验证码,所述验证码图片中除验证码外的背景为透明背景;获取验证码背景图片,对所述真实验证码和验证码背景图片进行相同的镂空处理,将所述验证码图片置于所述验证码背景图片之上进行合并得到合并图片,其中所述真实验证码的镂空位置与所述验证码背景图片的镂空位置重合;将所述合并图片显示在页面背景上,且页面背景颜色与所述真实验证码的颜色一致;在页面背景上显示可视区域,该可视区域的颜色与真实验证码的颜色不一致;监测对所述合并图片的移动指令,根据移动指令将所述合并图片移动到所述可视区域之上。2.根据权利要求1所述的方法,其特征在于,所述移动指令为对合并图片的拖拽指令。3.根据权利要求1所述的方法,其特征在于,所述生成验证码图片,具体包括:为每一组所述验证码对应生成一张验证码图片,所述验证码图片中除验证码外的背景为透明背景。4.根据权利要求1所述的方法,其特征在于,所述随机生成两组验证码,具体包括:利用预定密钥生成密文;根据当前用户的访问特征信息确定该当前用户对应的难度等级;根据所确定的难度等级,从所述密文中随机获取两组字符串作为验证码,其中难度等级越高,验证码的字符串越复杂。5.根据权利要求4所述的方法,其特征在于,所述利用预定密钥生成密文,具体包括:获取当前用户的IP地址和浏览器类型,将所述IP地址、浏览器类型和所述预定密钥组合成字符串,再经加密算法进行不可逆加密,生成一串密文。6.根据权利要求4所述的方法,其特征在于,所述根据当前用户的访问特征信息确定该当前用户对应的难度等级,具体包括:获取当前用户的IP地址和/或浏览器类型;根据预定的不同难度等级对应的IP地址范围、浏览器类型、和/或相同IP地址的请求间隔,判...

【专利技术属性】
技术研发人员:朱琦
申请(专利权)人:湖北盛天网络技术股份有限公司
类型:发明
国别省市:湖北;42

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

1