CN109933970B - 一种图形验证码检测方法、装置及存储介质 - Google Patents
一种图形验证码检测方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109933970B CN109933970B CN201711349834.3A CN201711349834A CN109933970B CN 109933970 B CN109933970 B CN 109933970B CN 201711349834 A CN201711349834 A CN 201711349834A CN 109933970 B CN109933970 B CN 109933970B
- Authority
- CN
- China
- Prior art keywords
- verification
- track
- terminal equipment
- images
- verification code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
一种图形验证码检测方法、装置及存储介质,所述方法包括:向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;获取输入所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。通过采用本方案,能够提高识别人机身份验证的准确率和识别率。
Description
技术领域
本申请涉及终端与应用技术领域,尤其涉及一种图形验证码检测方法、装置及存储介质。
背景技术
在互联网中,采用验证码来区分真实人类和计算机,验证码可用来防止坏人利用自动化程序破解用户密码、恶意刷取投票、恶意批量发布内容等行为。具体来说,在验证码测试中,作为服务器的计算机会自动生成一个问题,并由用户来解答,并由计算机评判。由于问题只有人类才能解答,计算机无法解答验证码的问题,那么最后回答出问题的用户就可以被认为是人类。
目前主要采用字符型验证码和滑动拼图,其中字符型验证码要求用户输入字符,但容易被机器学习破解,滑动拼图这类行为验证码缺少对抗性,行为轨迹容易被重放攻击。
可见,目前的提问验证码的抗破解方式并不能有效的区分人类和计算机,容易被机器学习,并不能有效的避免恶意刷票、破解用户密码等行为。
发明内容
本申请提供了一种图形验证码检测方法、装置及存储介质,能够解决现有技术中无法有效的识别出回答提问验证码的用户是机器还是人类的问题。
本申请第一方面提供一种图形验证码检测方法,所述方法包括:
向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
获取输入所述指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;
若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。
一些可能的实现方式中,基于所述轨迹数据,若确定所述轨迹数据的分布特征不满足通过验证的条件,则确定所述终端设备验证失败。例如若所述轨迹数据的分布规律,例如为规则图形等,则可确定当前进行验证的用户为机器的概率较高,则可判定验证失败。
本申请第二方面提供一种用于检测图形验证码的装置,具有实现对应于上述第一方面提供的图形验证码检测方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。一种可能的设计中,所述用于检测图形验证码的装置,所述装置包括:
收发模块,用于向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
获取输入所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;
处理模块,用于若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。
一些可能的实现方式中,所述处理模块还用于执行以下操作:
基于所述轨迹数据,若确定所述轨迹数据的分布特征不满足通过验证的条件,则可判定所述终端设备验证失败。
本申请又一方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述各方面所述的操作。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的操作。
相较于现有技术,本申请提供的方案中,服务器接收到终端设备发送的指令后,获取所述用户输入所述指令时在所述验证码图片上产生的轨迹数据,由于获取的所述轨迹数据包括所述用户绘制的轨迹和所述用户绘制所述轨迹的速度,所以服务器能够基于所述轨迹数据的分布特征判断是否满足通过验证的条件,若满足,则确定所述终端设备验证成功。通过采用本方案,服务器能够有效的区分当前验证的用户是机器还是人类身份,能够有效的避免恶意刷票、破解用户密码等行为。
附图说明
图1为本申请实施例中服务器的一种架构示意图;
图2为本申请实施例中图形验证码检测方法的流程示意图;
图3-1为本申请实施例中的一种轨迹示意图;
图3-2为本申请实施例中的一种轨迹示意图;
图3-3为本申请实施例中的一种轨迹示意图;
图3-4为本申请实施例中的一种轨迹示意图;
图4为本申请实施例中终端设备触发验证码入口的一种示意图;
图5为本申请实施例中终端设备勾勒图形轮廓的一种示意图;
图6为本申请实施例中终端设备验证成功的一种界面示意图;
图7为本申请实施例中终端设备验证中断或失败的一种界面示意图;
图8-1为本申请实施例中用户勾勒图形轮廓的一种示意图;
图8-2为本申请实施例中用户勾勒图形轮廓的一种示意图;
图8-3为本申请实施例中用户涂抹答案图像的一种示意图;
图9为本申请实施例中服务器的一种结构示意图;
图10为本申请实施例中计算机装置的一种结构示意图;
图11为本申请实施例中服务器的另一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本申请供了一种图形验证码检测方法、装置及存储介质,本申请可应用于服务器侧,服务器可用于生成验证码以及对访问服务器的终端设备进行验证码验证。一些实施方式中,如图1所示的服务器主要包括三个功能部分:生产后台、前端交互平台和校验后台,生产后台包括生产系统和渲染系统。
其中,生产系统主要用于生成随机物件属性文件、物件属性文件、生成图像、验证码图片和验证问题。渲染系统可用于对图片和答案坐标进行渲染,以得到验证码图片。渲染系统可以集成于生产系统中,也可独立部署,具体本申请不作限定。
其中,答案区域会作为正确答案的标准传输给校验后台使用,验证码图片和验证问题将传至前端交互平台,呈现给用户。
前端交互平台主要用于与终端设备的验证码验证的交互,其可以以网页、交互式应用或服务端的形式实现。其可以存储验证码图片和验证问题,通过获取用户针对验证问题的输入去验证用户,且与终端设备进行交互。
校验后台主要用于存储验证问题和已标注答案区域的验证码图片,并且在对前端交互平台传送的答案进行验证。
生产后台生成物件属性配置文件和验证问题后,可将验证问题传送到前端交互平台,以及将物件属性配置文件传送到渲染系统,渲染系统可基于物件属性配置文件渲染出验证码图片。然后渲染系统将渲染得到的验证码图片传送到前端交互平台。一个物件对应一个图像。
前端交互平台向终端设备推送验证的交互界面,终端设备可通过网页、安装的客户端在交互界面上回答问题,并在该交互界面输入答案。当前端交互平台收到来自终端设备输入的答案后,获取用户在终端设备上的轨迹数据,再将答案和轨迹数据发送给校验后台。
校验后台基于接收到的答案和轨迹数据对答案进行校验,若校验成功,则会向前端交互平台返回一个检验结果。
其中,需要特别说明的是,本申请涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。
请参照图2,以下对本申请提供一种图形验证码检测方法进行举例说明,本申请实施例包括:
201、终端设备向服务器触发验证码入口。
例如图4中的a所示,用户上手机上登录帐号,用户输完用户名和密码后,通过点击“安全验证”图标,即可触发验证码入口。
202、服务器向终端设备发送验证码图片的验证入口。
其中,所述验证码图片对应至少一个验证问题。
203、终端设备进入验证码入口,获取该验证码入口中的验证问题。
例如图4中的b所示,用户点击图4中的a中的“安全验证”图标后,进入图4中的b所示的验证码入口,该验证码入口向用户呈现验证问题“请勾勒出图中最左边的圆柱体”。可见,从用户面向验证码入口的可视角度和用户基于人类思维的分析角度,向用户提出验证问题,这样能够避免验证问题和验证答案被机器学习并破解,由此可见,本申请的这种提问的验证码图片的抗破解性较高。
204、终端设备向服务器发送针对所述验证码图片和验证问题输入的验证指令。
其中,所述验证指令可携带问题答案,所述问题答案针对所述验证码图片中的至少一个图像。例如,用户可如图5所示中,按照验证码入口的提示操作:勾勒圆柱体的图形轮廓,然后将绘制结果返回给服务器。
205、服务器接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令。
206、服务器获取输入所述验证指令时在所述验证码图片上产生的轨迹数据。
其中,所述轨迹数据包括所述用户绘制的轨迹和所述用户绘制所述轨迹的速度。所述轨迹包括至少一个轨迹点。所述轨迹数据中的轨迹和速度均存在分布特征。例如轨迹的分布特征可包括轨迹上的轨迹点的分布规律、轨迹点间的间隔、轨迹点间的相对位置关系等。例如绘制轨迹的速度的分布特征可包括绘制轨迹上的各轨迹点速度的分布规律、轨迹点间的速度大小变化、轨迹点间的速度方向变化等。
一些实施方式中,所述速度可以是矢量或标量,所述速度可包括绘制所述轨迹时的速度大小,或者所述速度还可以绘制所述轨迹上各轨迹点的时间。
207、若服务器确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。
若不满足该通过验证的条件,则服务器可确定所述终端设备验证失败。
可选的,在本申请的一些实施方式中,服务器判断当前回答验证问题的用户是否为机器时,可以通过用户绘制的轨迹的形状、绘制轨迹时的速度变化规律、绘制各轨迹点的时间关系等方面作为是否满足上述通过验证的条件来判断终端设备是否验证成功。具体分别介绍:
(1)、基于用户绘制的轨迹的形状
至少可通过以下方式之一实现用户身份的判断:
a、若所述轨迹为规则图形,则服务器可确定所述用户为机器,可判定本次验证失败。例如图3-1所示的圆柱体,其为规则形状。
b、若所述用户绘制的所述轨迹中连续m个轨迹点组成的轨迹段为非规则形状,或近似为规则形状但轨迹点分布不太规律(例如轨迹点之间的间距不等,分布不均匀等),则服务器可确定所述用户为人类,可判定本次验证成功。例如图3-2所示。
若所述用户绘制的所述轨迹中连续m个轨迹点组成的轨迹段为规则形状,或者轨迹点分布较为规律,则服务器可确定所述用户为机器,可判定本次验证失败。例如图3-3和图3-4所示。
c、若确定绘制所述轨迹中各轨迹点的随机程度低于预设随机程度,则服务器可确定所述用户为机器。例如3-2所示,虽然图3-2近似为圆柱体,但该圆柱体上的各轨迹点之间可以认为是无规则分布,可见,用户在绘制该图3-2时,由于人类手动绘制图形的限制,会出现不可控因素,也无法或者很难精准的绘制出有规律分布的轨迹点,所以,从这一点能够看出,图3-2为人类绘制的可能性非常大。
(2)、基于绘制轨迹时的速度变化规律
至少可通过以下方式之一实现用户身份的判断:
a、若所述用户绘制所述轨迹时的速度大小为匀速,则服务器可确定所述用户为机器,可判定该终端设备验证失败。
b、若所述用户绘制所述轨迹时的速度大小趋近于匀速,则服务器可确定所述用户为机器,可判定该终端设备验证失败。
c、若所述用户绘制所述轨迹时在第一时间内的加速度固定,则服务器可确定所述用户为机器,可判定该终端设备验证失败。
一般来说,如果是机器在绘制轨迹的话,机器会按照预编译的程序绘制轨迹,其打点的频率在一定时间内是固定的,并且可看出变化规律的。而作为人类,绘制轨迹时,就可能因为手抖等原因,无法按照固定的规律绘制出精准的轨迹,一般只能达到形状相似。所以,服务器在用户绘制轨迹时,可以实时获取用户绘制轨迹上的各轨迹点时的速度,或者打点时间间隔等信息。
例如图3-2和图3-3所示的轨迹中,假设二者均是绘制的同一个圆柱体,大小和体积相等。可设图3-2中的轨迹点a、b、c和d在轨迹1上的位置,分别对应图3-3中的轨迹点a’、b’、c’和d’在轨迹2上的位置。很明显,图3-2中的轨迹点a’、b’、c’和d’间距相等,打点均匀,图3-2中的轨迹点a、b、c和d分布不均匀,彼此之间的间隔也不同,并且也找不到任何与时间或速度有关打点的规律。由此可判断,图3-3所示的轨迹为机器的可能性比图3-2所示的轨迹的可能性要高很多。
(3)、基于绘制各轨迹点的时间关系
至少可通过以下方式之一实现用户身份的判断:
a、若超过p个轨迹点的绘制时间间隔相同,则确定所述用户为机器,可判定本次验证失败。
b、若超过q个轨迹点的绘制时间间隔呈规律性变化趋势,则确定所述用户为机器,可判定本次验证失败。其中,m、p和q均为正整数。
相较于现有技术,本申请提供的方案中,服务器接收到终端设备发送的指令后,获取所述用户输入所述指令时在所述验证码图片上产生的轨迹数据,由于获取的所述轨迹数据包括所述用户绘制的轨迹和所述用户绘制所述轨迹的速度,所以服务器能够基于所述轨迹数据,若确定所述轨迹数据的不规则程度低于预设不规则程度,则确定所述用户为机器。通过采用本方案,服务器能够有效的区分机器和人类身份,能够有效的避免恶意刷票、破解用户密码等行为。
可选的,在本申请的一些实施例中,所述方法还包括:
服务器验证所述轨迹数据是否在所述验证码图片中标注的答案区域,若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功。
其中,所述答案区域是指针对答案图像的有效操作区域,所述答案区域与所述验证码图片对应的至少一个验证问题匹配。
可选的,所述待验证问题至少基于以下问题维度之一生成:
图像数量、图像尺寸、图像形状、图像间的相关关系、图像在验证码图片中的位置、图像间的空间关系、图像纹理或图像重叠。
其中,所述图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。例如,可以生成类似的如下验证问题:请点击尺寸较大的圆柱体后面的第一个正方体、请点击红色球体前的正方体。诸如此类,均可以提高验证的难度,能够有效减少机器学习,提高识别人工回答的正确率,一定程度上可屏蔽恶意刷验证码的行为。
一些实施方式中,还可以从物体是否可以拼合、物体的模糊程度等维度来增加验证码的抗破解性。例如,验证码图片中有一个大圆环柱体和一个直径为圆环柱体内径的小圆柱体,提问:请选择可以合并为一个圆柱体的两个物体。那么基于大圆环柱体和小圆柱体即可生成一个验证问题。
可见,通过从问题维度角度抵抗机器回答问题,能够增加验证码的看破解性。
相应的,本申请实施例中,服务器还可以为终端设备提供三种回答验证问题的方式,服务器则基于终端设备返回的问题答案进行验证。下面分别进行介绍:
服务器可为终端设备的用户提供绘制图形轮廓、涂抹等方式答题。相应的,终端设备返回给服务器的问题答案则可包括用户在所述验证码图片中对答案图像的涂抹区域,或者包括所述用户绘制的图形轮廓。相应的,服务器在收到终端设备返回的用户的问题答案后,可进行判断。
(1)服务器指示用户在验证码图片中对认定的答案图像进行图形轮廓的绘制。
例如图8-1所示,服务器通过验证码入引导用户“勾勒出最左边的圆柱体的图形轮廓”。用户可直接通过鼠标或者验证码入口提供的绘制工具进行图形轮廓的绘制。绘制完毕后,如图8-1所示。
相应的,终端设备将用户绘制的图形轮廓和答案发送给服务器,服务器接收到后,可进行以下判断:若绘制的图形轮廓所包围的区域形状在所述答案区域内,则确定所述终端设备验证成功。
或者,若绘制的图形轮廓与目标图像的重合度大于所述预设重合度,则确定所述终端设备验证成功。
(2)服务器指示用户在验证码图片中对认定的答案图像进行绘制。
例如图8-2所示,服务器通过验证码入引导用户“画出最左边的圆柱体的图形轮廓”。用户可直接通过鼠标或者验证码入口提供的绘制工具画该圆柱体的图形轮廓。画完毕后,如图8-2所示。
相应的,终端设备将用户画的图形轮廓和答案发送给服务器,服务器接收到后,可进行以下判断:若绘制的图形轮廓与所述目标图像的相似度大于所述预设相似度,则可确定所述终端设备验证成功。
(3)服务器指示用户在验证码图片中对认定的答案图像进行涂抹。
例如图8-3所示,服务器通过验证码入引导用户“涂抹图中最左边的圆柱体的图形轮廓”。用户可直接通过鼠标或者验证码入口提供的绘制工具涂抹该圆柱体。涂抹完毕后,如图8-3所示。
相应的,终端设备将用户涂抹得到的涂抹区域和答案发送给服务器,服务器接收到后,可进行以下判断:
若所述涂抹区域在答案区域内,则确定所述终端设备验证成功。
或者,若所述涂抹区域与目标图像的重合度大于预设重合度,则确定所述终端设备验证成功。
或者,若所述涂抹区域与目标图像的相似度大于预设相似度,则确定所述终端设备验证成功。
图1至图8-3中任一所对应的实施例中的特征也同样适用于本申请中的图9和图10所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种图形验证码检测方法进行说明,以下对执行上述图形验证码检测方法的装置进行说明。该装置可以是安装了服务端的服务器,也可以是安装于服务器上的服务端。
参照图9,所述服务器可包括:
收发模块,用于向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
获取输入所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;
处理模块,用于若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。
本申请实施例中,收发模块到终端设备发送的指令后,获取所述用户输入所述指令时在所述验证码图片上产生的轨迹数据,由于获取的所述轨迹数据包括所述用户绘制的轨迹和所述用户绘制所述轨迹的速度,所以处理模块能够基于所述轨迹数据,若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述用户为机器,判定所述终端设备验证成功。通过采用本方案,服务器能够有效的区分机器和人类身份,能够有效的避免恶意刷票、破解用户密码等行为。
可选的,所述轨迹包括至少一个轨迹点,所述速度包括绘制所述轨迹时的速度大小和绘制所述轨迹上各轨迹点的时间;所述处理模块具体用于执行以下操作之一:
若所述用户绘制所述轨迹时的速度大小为匀速,则确定所述用户为机器;
或者,若绘制所述轨迹时的速度大小趋近于匀速,则确定所述用户为机器;
或者,若绘制所述轨迹时在第一时间内的加速度固定,则确定所述用户为机器。
可选的,所述处理模块具体用于执行以下操作之一:
若所述轨迹为规则图形,则确定所述用户为机器,判定所述终端设备验证失败;
或者,若绘制的所述轨迹中连续m个轨迹点组成的轨迹段为规则形状,则确定所述用户为机器,判定所述终端设备验证失败,m为正整数;
或者,若确定绘制所述轨迹中各轨迹点的随机程度低于预设随机程度,则确定所述用户为机器,判定所述终端设备验证失败。
可选的,所述速度还包括绘制所述轨迹上各轨迹点的时间;所述处理模块具体用于执行以下操作之一:
若超过p个轨迹点的绘制时间间隔相同,则确定所述用户为机器,判定所述终端设备验证失败;
或者,若超过q个轨迹点的绘制时间间隔呈规律性变化趋势,则确定所述用户为机器,,判定所述终端设备验证失败。其中,p和q均为正整数。
可选的,所述指令携带问题答案,所述问题答案针对所述验证码图片中的至少一个图像,所述处理模块还用于:
验证所述轨迹数据是否在所述验证码图片中标注的答案区域,若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功;
其中,所述答案区域是指针对答案图像的有效操作区域,所述答案区域与所述验证码图片对应的至少一个验证问题匹配。
可选的,所述待验证问题至少基于以下问题维度之一生成:
图像数量、图像尺寸、图像形状、图像间的相关关系、图像在验证码图片中的位置、图像间的空间关系、图像纹理或图像重叠;
其中,所述图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。
可选的,所述问题答案包括用户在所述验证码图片中对答案图像的涂抹区域,或者包括所述用户绘制的图形轮廓;所述处理模块具体用于执行以下操作之一:
若所述涂抹区域在答案区域内,则确定所述终端设备验证成功;
或者,若所述涂抹区域与目标图像的重合度大于预设重合度,则确定所述终端设备验证成功;
或者,若所述涂抹区域与目标图像的相似度大于预设相似度,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓所包围的区域形状在所述答案区域内,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓与目标图像的重合度大于所述预设重合度,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓与所述目标图像的相似度大于所述预设相似度,则确定所述终端设备验证成功。
上面从模块化功能实体的角度对本申请实施例中的网络认证服务器和终端设备进行了描述,下面从硬件处理的角度分别对本申请实施例中的服务器进行描述。需要说明的是,在本申请图9所示的实施例中的收发模块对应的实体设备可以为收发器,处理模块对应的实体设备可以为处理器。图9所示的装置可以具有如图10所示的结构,当图9所示的装置具有如图10所示的结构时,图10中的处理器和收发器能够实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图10中的存储器存储处理器执行上述图形验证码检测方法时需要调用的程序代码。
图11是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:centralprocessing units,英文简称:CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。
例如,所述中央处理器1122可以调用存储介质1130中存储的指令执行如下操作:
通过输入输出接口1158向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
通过输入输出接口1158接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
通过输入输出接口1158获取输入所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括所述用户绘制的轨迹和所述用户绘制所述轨迹的速度;
若确定所述轨迹数据的分布特征满足通过验证的条件,则确定所述终端设备验证成功。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种图形验证码检测方法,其特征在于,应用于服务器,所述服务器包括生产后台、前端交互平台和校验后台,所述生产后台包括生产系统和渲染系统,所述生产系统用于生成随机物件属性文件、物件属性配置文件、图像、验证码图片和验证问题,所述渲染系统基于物件属性配置文件,对图片和答案坐标进行渲染得到验证码图片,所述验证问题为从用户面向验证码入口的可视角度和用户基于人类思维的分析角度向用户提出的,所述方法包括:
向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
获取输入所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;
若确定所述轨迹数据的分布特征满足禁止通过验证的条件,则确定所述终端设备验证失败,否则,确定所述终端设备验证成功,所述轨迹数据的分布特征至少包括:用户绘制的轨迹的形状规则度、轨迹上的轨迹点的分布规律或绘制各轨迹点的时间间隔,所述禁止通过验证的条件至少包括以下实现方式之一:所述轨迹为规则图形;或者,所述用户绘制的所述轨迹中连续m个轨迹点组成的轨迹段为规则形状,m为正整数;或者,绘制所述轨迹中各轨迹点的随机程度低于预设随机程度;
所述验证问题至少基于以下问题维度之一生成:
图像数量、图像尺寸、图像形状、图像间的关联关系、图像在验证码图片中的位置或图像纹理;
其中,所述图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。
2.根据权利要求1所述的方法,其特征在于,所述轨迹包括至少一个轨迹点,所述速度包括绘制所述轨迹时的速度大小和绘制所述轨迹上各轨迹点的时间;所述禁止通过验证的条件至少包括以下实现方式之一:
绘制所述轨迹时的速度大小为匀速;
或者,绘制所述轨迹时的速度大小趋近于匀速;
或者,绘制所述轨迹时在第一时间内的加速度固定。
3.根据权利要求1所述的方法,其特征在于,所述速度还包括绘制所述轨迹上各轨迹点的时间;所述禁止通过验证的条件至少包括以下实现方式之一:
超过p个轨迹点的绘制时间间隔相同;
或者,超过q个轨迹点的绘制时间间隔呈规律性变化趋势,p和q均为正整数。
4.根据权利要求3所述的方法,其特征在于,所述指令携带问题答案,所述问题答案针对所述验证码图片中的至少一个图像,所述方法还包括:
验证所述轨迹数据是否在所述验证码图片中标注的答案区域,若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功;
其中,所述答案区域是指针对答案图像的有效操作区域,所述答案区域与所述验证码图片对应的至少一个验证问题匹配。
5.根据权利要求1所述的方法,其特征在于,问题答案包括在所述验证码图片中对答案图像的涂抹区域,或者包括绘制的图形轮廓;所述验证所述轨迹数据是否在所述验证码图片中标注的答案区域,至少包括以下验证方式之一:
若所述涂抹区域在答案区域内,则确定所述终端设备验证成功;
或者,若所述涂抹区域与目标图像的重合度大于预设重合度,则确定所述终端设备验证成功;
或者,若所述涂抹区域与目标图像的相似度大于预设相似度,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓所包围的区域形状在所述答案区域内,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓与目标图像的重合度大于所述预设重合度,则确定所述终端设备验证成功;
或者,若绘制的图形轮廓与所述目标图像的相似度大于所述预设相似度,则确定所述终端设备验证成功。
6.一种用于检测图形验证码的装置,其特征在于,应用于服务器,所述服务器包括生产后台、前端交互平台和校验后台,所述生产后台包括生产系统和渲染系统,所述生产系统用于生成随机物件属性文件、物件属性配置文件、图像、验证码图片和验证问题,所述渲染系统基于物件属性配置文件,对图片和答案坐标进行渲染得到验证码图片,所述验证问题为从用户面向验证码入口的可视角度和用户基于人类思维的分析角度向用户提出的,所述装置包括:
收发模块,用于向终端设备发送验证码图片的验证入口,所述验证码图片对应至少一个验证问题;
接收所述终端设备针对所述验证码图片和所述验证问题输入的验证指令;
获取所述验证指令时在所述验证码图片上产生的轨迹数据,所述轨迹数据包括绘制的轨迹和绘制所述轨迹的速度;
处理模块,用于若确定所述轨迹数据的分布特征满足禁止通过验证的条件,则确定所述终端设备验证失败,否则,确定所述终端设备验证成功,所述轨迹数据的分布特征至少包括:用户绘制的轨迹的形状规则度、轨迹上的轨迹点的分布规律或绘制各轨迹点的时间间隔,所述禁止通过验证的条件至少包括以下实现方式之一:所述轨迹为规则图形;或者,所述用户绘制的所述轨迹中连续m个轨迹点组成的轨迹段为规则形状,m为正整数;或者,绘制所述轨迹中各轨迹点的随机程度低于预设随机程度;
所述验证问题至少基于以下问题维度之一生成:
图像数量、图像尺寸、图像形状、图像间的关联关系、图像在验证码图片中的位置或图像纹理;
其中,所述图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。
7.根据权利要求6所述的装置,其特征在于,所述轨迹包括至少一个轨迹点,所述速度包括绘制所述轨迹时的速度大小和绘制所述轨迹上各轨迹点的时间;所述处理模块具体用于执行以下操作之一:
若绘制所述轨迹时的速度大小为匀速,则确定所述终端设备验证失败;
或者,若绘制所述轨迹时的速度大小趋近于匀速,则确定所述终端设备验证失败;
或者,若绘制所述轨迹时在第一时间内的加速度固定,则确定所述终端设备验证失败。
8.根据权利要求6所述的装置,其特征在于,所述速度还包括绘制所述轨迹上各轨迹点的时间;所述处理模块具体用于执行以下操作之一:
若超过p个轨迹点的绘制时间间隔相同,则确定所述终端设备验证失败;
或者,若超过q个轨迹点的绘制时间间隔呈规律性变化趋势,则确定所述终端设备验证失败,其中,p和q均为正整数。
9.根据权利要求8所述的装置,其特征在于,所述指令携带问题答案,所述问题答案针对所述验证码图片中的至少一个图像,所述处理模块还用于:
验证所述轨迹数据是否在所述验证码图片中标注的答案区域,若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功;
其中,所述答案区域是指针对答案图像的有效操作区域,所述答案区域与所述验证码图片对应的至少一个验证问题匹配。
10.一种计算机装置,其特征在于,所述装置包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-5任一项所述的方法。
11.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349834.3A CN109933970B (zh) | 2017-12-15 | 2017-12-15 | 一种图形验证码检测方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349834.3A CN109933970B (zh) | 2017-12-15 | 2017-12-15 | 一种图形验证码检测方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933970A CN109933970A (zh) | 2019-06-25 |
CN109933970B true CN109933970B (zh) | 2022-12-27 |
Family
ID=66979940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711349834.3A Active CN109933970B (zh) | 2017-12-15 | 2017-12-15 | 一种图形验证码检测方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933970B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114747179A (zh) * | 2020-06-25 | 2022-07-12 | 谷歌有限责任公司 | 异常用户界面输入检测 |
CN112613005A (zh) * | 2020-12-17 | 2021-04-06 | 中国工商银行股份有限公司 | 身份验证方法及装置 |
CN112667989A (zh) * | 2021-01-06 | 2021-04-16 | 拉扎斯网络科技(上海)有限公司 | 验证信息的验证和生成方法及装置,存储介质和电子设备 |
CN112818319B (zh) * | 2021-01-25 | 2023-03-21 | 天津五八到家货运服务有限公司 | 图形验证码的验证方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157344A (zh) * | 2015-04-23 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 验证图片的生成方法及装置 |
CN106485114A (zh) * | 2016-11-10 | 2017-03-08 | 北京像素软件科技股份有限公司 | 一种数据验证的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0523995D0 (en) * | 2005-11-25 | 2006-01-04 | Ibm | Method,system and computer program product for access control |
CN102724191B (zh) * | 2012-06-11 | 2015-03-11 | 华南理工大学 | 一种图文结合的Web验证码安全防护方法及装置 |
CN103488934B (zh) * | 2013-09-24 | 2016-04-20 | 刘雪英 | 一种验证码输入方法、装置及系统 |
WO2015072968A1 (en) * | 2013-11-12 | 2015-05-21 | Intel Corporation | Adapting content to augmented reality virtual objects |
CN104917612B (zh) * | 2014-03-14 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
US10382415B2 (en) * | 2014-04-21 | 2019-08-13 | Ohio University | Application engagement identification using a dynamic pattern |
CN104023029A (zh) * | 2014-06-19 | 2014-09-03 | 百度在线网络技术(北京)有限公司 | 验证码的验证方法和装置 |
CN106327547B (zh) * | 2015-06-23 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 一种验证码生成验证的方法和装置 |
CN106936575A (zh) * | 2015-12-29 | 2017-07-07 | 张仁平 | 一种让智能化程序难以识别的验证码系统 |
CN105975823A (zh) * | 2016-05-05 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 用于区分人机的验证方法及装置 |
CN106066959B (zh) * | 2016-05-25 | 2019-04-30 | 北京比邻弘科科技有限公司 | 一种机器人访问检测的方法及装置 |
CN106815515A (zh) * | 2016-12-12 | 2017-06-09 | 微梦创科网络科技(中国)有限公司 | 一种基于轨迹验证的验证码实现方法及装置 |
CN106991315A (zh) * | 2017-03-02 | 2017-07-28 | 袁精侠 | 手势验证的验证方法及系统 |
-
2017
- 2017-12-15 CN CN201711349834.3A patent/CN109933970B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157344A (zh) * | 2015-04-23 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 验证图片的生成方法及装置 |
CN106485114A (zh) * | 2016-11-10 | 2017-03-08 | 北京像素软件科技股份有限公司 | 一种数据验证的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109933970A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933970B (zh) | 一种图形验证码检测方法、装置及存储介质 | |
US10657243B2 (en) | Variation analysis-based public turing test to tell computers and humans apart | |
CN109670291B (zh) | 一种验证码的实现方法、装置及存储介质 | |
US11258810B2 (en) | Identity authentication method, apparatus, and system | |
CN106453209B (zh) | 一种身份验证方法和装置 | |
CN104834839B (zh) | 一种条码生成方法、基于条码的鉴权方法及相关终端 | |
CN106656944B (zh) | 手持移动设备滑动验证的方法及装置 | |
CN104836778B (zh) | 一种验证码的实现方法、装置及系统 | |
CN108881126B (zh) | 验证验证码的方法、装置、系统、存储介质和计算机终端 | |
CN105337739B (zh) | 安全登录方法、装置、服务器及终端 | |
CN106027532A (zh) | 一种基于声纹的用户身份确权方法、终端以及服务器 | |
TWI656780B (zh) | 基於磁力計的驗證方法和設備 | |
CN110990821B (zh) | 一种身份类型验证方法、装置及存储介质 | |
CN105577692A (zh) | 一种网站登录认证方法和装置 | |
CN105207783A (zh) | 一种用户可信度认证方法及装置 | |
CN104079527A (zh) | 一种信息处理方法及电子设备 | |
Mohamed et al. | On the security and usability of dynamic cognitive game CAPTCHAs | |
CN111859322A (zh) | 身份验证方法、装置和电子设备 | |
Siripitakchai et al. | EYE-CAPTCHA: An enhanced CAPTCHA using eye movement | |
CN107995213B (zh) | 短信发送控制方法及装置 | |
CN109525485A (zh) | 一种留言方法及终端设备 | |
CN114547581A (zh) | 提供验证码系统的方法和设备 | |
CN110087235B (zh) | 一种身份认证、认证方式调整的方法及装置 | |
CN112751799B (zh) | 基于图片验证码的验证方法和装置 | |
Jin et al. | Ar captcha: Recognizing robot by augmented reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |