一种动态遮挡型字符串图形验证码验证方法与流程

文档序号:13532559阅读:1561来源:国知局

本发明涉及计算机软件技术领域,特别涉及一种动态遮挡型字符串图形验证码验证方法。



背景技术:

验证码是一种用来认定用户是人而非计算机的一种手段,以防止黑客利用自动化程序进行破解密码、刷票、论坛灌水等恶意行为。

目前,广泛使用的验证码是图形验证码。它的基本原理是:服务器端将随机产生的字符串嵌入到带有随机曲线和∕或随机噪点等干扰的图片中形成图形验证码并发送到客户端,客户端收到后由用户通过肉眼识别出图形验证码中的字符串,然后输入到验证码输入框中并提交到服务器端进行登录验证,验证成功后用户才能在客户端使用某项功能。

为了方便用户识别与输入,图形验证码完整图片,包括字符串的所有字符等完整信息,往往会一直显示在客户端登录界面上,或通过闪烁、动画、视频等方式多次地显示在客户端登录界面上。

完整显示的图形验证码信息与充裕的识别时间,使黑客有机会实施恶意抓屏、ocr识别图形验证码信息等攻击行为。因此,对图形验证码而言,如何增加验证码识别难度、防范机器破解、提高验证码安全性,是验证码领域面临的重大挑战。

为此,本发明提出一种动态遮挡型字符串图形验证码验证方法。



技术实现要素:

本发明所要解决的技术问题是提供一种动态遮挡型字符串图形验证码验证方法。所述方法包括:

客户端向服务器端发出访问请求后,所述服务器端将由一个字符或一个以上字符构成的验证字符串嵌入到图片中形成图形验证码并发送到所述客户端,所述客户端在客户端登录界面上显示所述图形验证码时,所述图形验证码的所述验证字符串中至少有一个字符被遮挡图块所遮挡住;

在所述客户端登录界面上,用户对所述图形验证码的所述验证字符串中的每一个字符按照在所述验证字符串中的排列顺序依次识别并输入到验证码输入框中,轮到对所述验证字符串中被所述遮挡图块所遮挡住的字符进行识别时才移除所述遮挡图块并让被遮挡住的字符显示出来,用户对其识别并输入到所述验证码输入框中;

在所述客户端登录界面上,用户对所述图形验证码的所述验证字符串中的最后一个字符进行识别并输入到所述验证码输入框中之后,将所述验证码输入框中的内容提交到所述服务器端进行登录验证,若与所述服务器端存储的所述验证字符串内容一致则验证成功,否则验证失败同时所述服务器端更新图形验证码并再次发送到所述客户端。

本发明提出的动态遮挡型字符串图形验证码验证方法中,所述字符从unicode字符集中随机选取,优先从数字、字母与汉字构成的unicode子字符集中随机选取。

本发明提出的动态遮挡型字符串图形验证码验证方法中,所述输入所述验证字符串的字符的方法,包括键盘输入方法、鼠标输入方法、触摸屏输入方法、软键盘输入方法、手写板输入方法、语音输入方法、光笔输入方法、扫描笔输入方法、机器视觉输入方法,优选键盘输入方法、软键盘输入方法、语音输入方法。

本发明提出的动态遮挡型字符串图形验证码验证方法中,所述遮挡图块被移除后在5秒内回到原处,重新遮挡住原来被遮挡住的字符。

本发明通过对图形验证码的字符进行动态遮挡,使客户端登录界面上的图形验证码信息不完整显示出来,并对被动态遮挡的字符设定合理的识别时间,从而有效防范恶意抓屏、ocr识别、机器破解等行为,显著提高图形验证码安全性。

附图说明

图1为根据本发明的动态遮挡型字符串图形验证码验证方法的流程示意图。

具体实施方式

下面将结合附图详细描述本发明的具体实施方式。

优选实施例1:

图形验证码中含有一个以上字符。如图1所示,客户端向服务器端发出访问请求后,服务器端将由随机的四个字符构成的验证字符串(这里如图1所示举例来说,依次排序为1、2、3、4的验证字符串)嵌入到带有随机曲线和∕或随机噪点等干扰的图片中形成图形验证码并发送到客户端,客户端在客户端登录界面上显示图形验证码时,图形验证码的验证字符串中至少有一个字符被遮挡图块所遮挡住(这里如图1所示举例来说,验证字符串中1、2、3、4等四个字符都被遮挡图块所遮挡住);

在所述客户端登录界面上,用户对所述图形验证码的所述验证字符串中的每一个字符按照在所述验证字符串中的排列顺序依次识别并输入到验证码输入框中,轮到对所述验证字符串中被所述遮挡图块所遮挡住的字符进行识别时才移除所述遮挡图块并让被遮挡住的字符显示出来,用户对其识别并输入到所述验证码输入框中;这里如图1所示举例来说,当客户端登录界面判断出光标位于验证码输入框后,马上移除遮挡住字符1的遮挡图块,字符1显示出来,用户对其识别并输入到所述验证码输入框中,5秒内被移除的遮挡图块回到原处并重新遮挡住字符1;依此类推,对字符2、3、4进行依次识别并输入到验证码输入框中;如图1所示的情形,就是开始识别字符3、尚未输入到验证码输入框中的情形;

在所述客户端登录界面上,用户对所述图形验证码的所述验证字符串中的最后一个字符(这里如图1所示举例来说,就是字符4)进行识别并输入到所述验证码输入框中之后,将所述验证码输入框中的内容提交到所述服务器端进行登录验证,若与所述服务器端存储的所述验证字符串内容一致则验证成功,否则验证失败同时所述服务器端更新图形验证码并再次发送到所述客户端。

优选实施例2:

图形验证码中含有一个以上字符、同时采用语音输入方法输入验证字符串的字符。客户端收到图形验证码并在客户端登录界面上显示时,图形验证码的验证字符串中至少有一个字符被遮挡图块所遮挡住,同时第一个字符不被遮挡(这里如图1所示举例来说,验证字符串中2、3、4等三个字符都被遮挡图块所遮挡住,而字符1则不被遮挡);当客户端捕获到用户朗读第一个字符的语音后,即可判断出用户已开始语音输入验证码信息并完成第一个字符的识别,随后按顺序移除遮挡住字符2、3、4的遮挡图块并进行识别与语音输入;最后,用户提交到服务器端进行登录验证的验证码输入框中的内容,可以是用户语音输入的音频信号,即由服务器端完成音频信号解析与语音识别任务;也可以是字符信息,即由客户端完成音频信号解析与语音识别任务。

优选实施例3:

图形验证码中仅有一个字符的情形。验证字符串中的该唯一字符被遮挡图块遮挡;当客户端登录界面判断出光标位于验证码输入框后,马上移除遮挡住该唯一字符的遮挡图块,该唯一字符显示出来,用户对其识别并输入到所述验证码输入框中,然后提交到服务器端进行登录验证;若没有马上提交登陆验证,则5秒内被移除的遮挡图块回到原处并重新遮挡住该唯一字符。

上述具体实施方式用来解释说明本发明专利,仅为本发明专利的优选实施例而已,而不是对本发明专利进行限制,在本发明专利的精神和权利要求的保护范围内,对本发明专利作出的任何修改、等同替换、改进等,都落入本发明专利的保护范围。



技术特征:

技术总结
本发明公开了一种动态遮挡型字符串图形验证码验证方法,包括:客户端向服务器端发出访问请求后,服务器端将由一个字符或一个以上字符构成的验证字符串嵌入到图片中形成图形验证码并发送到客户端,在客户端登录界面上显示的图形验证码中至少有一个字符被遮挡图块所遮挡住而无法识别;用户开始依次识别图形验证码中的每一个字符,轮到对被遮挡住的字符进行识别时才移除遮挡图块使字符显示出来便于识别,被移除的遮挡图块稍后回到原处并重新遮挡字符;用户完成图形验证码所有字符的识别并输入到验证码输入框中之后,将验证码输入框中的内容提交到服务器端进行登录验证。本发明通过对图形验证码的字符进行动态遮挡,防范机器破解,提高验证码安全性。

技术研发人员:卢安迪
受保护的技术使用者:卢安迪
技术研发日:2016.12.11
技术公布日:2018.01.23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1