本发明涉及网络安全技术领域,尤其涉及一种点选图形验证码的验证方法及系统。
背景技术:
图形验证码在网站或互联网应用系统交互网页上(比如登录页),以图片方式显示的无规则的随机验证码来进行验证,让恶意程序或自动化程序无法绕过这个验证码而进行重复尝试验证,提升了暴力破解难度,因而被各种网络应用系统广泛使用。
现有的图形验证码方案中现有的图形验证码方案中往往采用验证用户手动输入字符与图形验证码中的字符一致性的方式进行验证,例如,文字比对或数字比对等,每一套需要图形验证码的应用系统往往单独开发一套图形验证码方案,不同的应用系统对应不同的图形验证码方案。
现有方案中,需要用户手动输入图形验证码中的字符,当字符较多时,输入操作繁琐,其次,在验证过程中需要传输用户输入的字符,字符在传输过程中有被恶意程序识别的风险,再次,每一套需要图形验证码的应用系统需要单独开发一套图形验证码方案,当应用系统较多时,重复开发图形验证码方案,浪费开发成本及网络系统资源。
技术实现要素:
本发明实施例提供了一种点选图形验证码的验证方法及系统,用于实现多个应用系统的图形验证码验证,简化了用户验证操作,提高了验证的安全性。
本发明实施例第一方面提供了一种点选图形验证码的验证方法,可包括:
接收不同应用端后台系统发送的验证请求,所述验证请求中包含图形验证码参数信息;
根据所述图形验证码参数信息生成目标图形验证码及对应的点选操作指示信息,并发送给对应的目标应用端后台系统;
保存所述操作指示信息对应的验证信息,所述验证信息包括点选操作预置步骤信息及预置坐标信息;
接收所述目标应用端后台系统反馈的点选操作信息,所述点选操作信息根据目标用户在所述图形验证码上的点选操作步骤及点选坐标信息生成;
判断所述点选操作信息是否与所述验证信息匹配,若匹配,则判定所述目标用户验证成功,若不匹配,则判定所述目标用户验证失败。
可选的,作为一种可能的实施方式,所述根据所述图形验证码参数信息生成图形验证码及对应的点选操作指示信息,包括:
从背景库中随机抽取一张与所述图形验证码参数信息相匹配的目标图片作为背景图片,并在所述背景图片上随机绘制斑点图案;
从gbk汉字库中随机获取第一预置数目的汉字形成第一集合;
分别为所述第一集合中的汉字随机选择对应的字体信息,并按照所述字体信息将对应的汉字绘制在不同的临时画布中,所述字体信息包括字体大小、字体风格、字体颜色、字体旋转角度中的一种或多种;
在所述背景图片上随机选择所述第一预置数目的画布坐标点,并将所述临时画布分别绘制到所述画布坐标点处,形成图形验证码;
从所述第一集合中按照顺序随机选取第二预置数目的不同汉字作为目标汉字形成第二集合;
根据所述第二集合中及所述第二集合中目标汉字的顺序生成所述图形验证码对应的点选操作指示信息。
可选的,作为一种可能的实施方式,在所述将所述临时画布分别绘制到所述画布坐标点处之前,所述方法还包括:
通过圆周率及正弦计算,对每个所述临时画布做扭曲及拉伸处理。
可选的,作为一种可能的实施方式,在所述将所述临时画布分别绘制到所述画布坐标点处之后,所述方法还包括:
在所述背景图片随机生成预置数目的点坐标,并根据不同的字体信息在该所述背景图片中生成对应的噪点;
根据所述目标汉字的字体颜色,在所述目标汉字上用近似颜色画上不同长度的直线或曲线作为干扰线,所述干扰线的种类包括实线、虚线、短横线三类风格。
可选的,作为一种可能的实施方式,所述判断点选操作信息是否与所述验证信息匹配,包括:
若所述目标用户的点选操作的点选坐标点与所述第二集合中的目标汉字的坐标点不匹配,或,所述目标用户的点选操作的点选坐标点的先后顺序与所述第二集合中的目标汉字的顺序不匹配,则判定点选操作信息是否与所述验证信息不匹配;
若所述目标用户的点选操作的点选坐标点与所述第二集合中的目标汉字的坐标点相匹配,且所述目标用户的点选操作的点选坐标点的先后顺序是否与所述第二集合中的目标汉字的顺序相匹配,则判定所述点选操作信息是否与所述验证信息相匹配。
本发明实施例第二方面提供了一种点选图形验证码的验证系统,其特征在于,包括:
至少一个应用端后台系统,应用端前台系统,验证服务系统,其中,
所述验证服务系统包括第一接收模块,用于接收不同应用端后台系统发送的验证请求,所述验证请求中包含图形验证码参数信息;
所述验证服务系统还包括生成模块,用于根据所述图形验证码参数信息生成图形验证码及对应的点选操作指示信息,并发送给对应的目标应用端后台系统;
所述验证服务系统还包括存储模块,用于保存所述操作指示信息对应的验证信息,所述验证信息包括点选操作预置步骤信息及预置坐标信息;
所述应用端后台系统用于接收对应的应用端前台系统发送的点选操作信息,所述操作信息根据目标用户在所述图形验证码上的点选操作步骤及点选坐标信息生成;
所述验证服务系统还包括第二接收模块,用于接收所述目标应用端后台系统反馈的所述点选操作信息;
所述验证服务系统还包括判断模块,用于判断所述点选操作信息是否与所述验证信息匹配,若匹配,则判定所述目标用户验证成功,若不匹配,则判定所述目标用户验证失败。
可选的,作为一种可能的实施方式,所述生成模块,包括:
第一选择单元,用于从背景库中随机抽取一张与所述图形验证码参数信息相匹配的目标图片作为背景图片,并在所述背景图片上随机绘制斑点图案;
第二选择单元,用于从gbk汉字库中随机获取第一预置数目的汉字形成第一集合;
第三选择单元,用于分别为所述第一集合中的汉字随机选择对应的字体信息,并按照所述字体信息将对应的汉字绘制在不同的临时画布中,所述字体信息包括字体大小、字体风格、字体颜色、字体旋转角度中的一种或多种;
第一生成单元,用于在所述背景图片上随机选择所述第一预置数目的画布坐标点,并将所述临时画布分别绘制到所述画布坐标点处,生成图形验证码;
第四选择单元,用于从所述第一集合中按照顺序随机选取第二预置数目的不同汉字作为目标汉字形成第二集合;
第二生成单元,用于根据所述第二集合中及所述第二集合中目标汉字的顺序生成所述图形验证码对应的点选操作指示信息。
可选的,作为一种可能的实施方式,所述生成模块还包括:
画布处理单元,用于在所述将所述临时画布分别绘制到所述画布坐标点处之前,通过圆周率及正弦计算,对每个所述临时画布做扭曲及拉伸处理。
可选的,作为一种可能的实施方式,所述生成模块还包括:
噪点生成单元,用于在所述背景图片随机生成预置数目的点坐标,并根据不同的字体信息在该所述背景图片中生成对应的噪点;
干扰线生成单元,用于根据所述目标汉字的字体颜色,在所述目标汉字上用近似颜色画上不同长度的直线或曲线作为干扰线,所述干扰线的种类包括实线、虚线、短横线三类风格。
可选的,作为一种可能的实施方式,所述判断模块,包括:
第一判断单元,若所述目标用户的点选操作的点选坐标点与所述第二集合中的目标汉字的坐标点不匹配,或,所述目标用户的点选操作的点选坐标点的先后顺序与所述第二集合中的目标汉字的顺序不匹配,则判定所述点选操作信息与所述验证信息不匹配;若所述目标用户的点选操作的点选坐标点与所述第二集合中的目标汉字的坐标点相匹配,且所述目标用户的点选操作的点选坐标点的先后顺序是否与所述第二集合中的目标汉字的顺序相匹配,则判定所述点选操作信息与所述验证信息相匹配;
第二判断单元,若所述点选操作信息与所述验证信息相匹配,则判定所述目标用户验证成功,若所述点选操作信息与所述验证信息不匹配,则判定所述目标用户验证失败。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,验证服务系统可以根据不同应用端后台系统发送的验证请求中包含图形验证码参数信息来生成图形验证码及对应的点选操作指示信息,相对于现有方案,本发明实施例中多个应用系统可以共用一套验证系统,节约开发成本及网络系统资源,对应的目标应用端后台系统可以向该验证服务系统反馈目标用户在图形验证码上的点选操作步骤生成的点选操作信息,该验证服务系统可以根据点选操作信息判断目标用户点选操作是否与验证信息相匹配,进而确定目标用户验证成功与否,相对于现有方案,只需用户进行点选操作,无需输入操作,简化了用户验证操作,提升了用户体验,同时,验证过程中无需输入和传输字符信息,只需传递用户点选操作信息,增加了恶意程序或机器代码识别验证过程的难度,进而增加了图形验证码验证过程的安全性。
附图说明
图1为本发明实施例中一种点选图形验证码的验证方法的一个实施例示意图;
图2为图1中步骤200的细化步骤示意图;
图3为本发明实施例中点选操作指示信息的具体运用实例示意图;
图4为本发明实施例中一种点选图形验证码的验证方法的一个具体运用实例示意图;
图5为本发明实施例中一种点选图形验证码的验证系统的一个实施例示意图;
图6为本发明实施例中一种点选图形验证码的验证系统中生成模块502的一个细化功能模块示意图;
图7为本发明实施例中一种点选图形验证码的验证系统中生成模块502的另一个细化功能模块示意图;
图8为本发明实施例中一种点选图形验证码的验证系统中判断模块504的细化功能模块示意图。
具体实施方式
本发明实施例提供了一种点选图形验证码的验证方法及系统,用于实现多个应用系统的图形验证码验证,简化用户操作,提高用户体验。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种点选图形验证码的验证方法的一个实施例可包括:
100、接收不同应用端后台系统发送的验证请求;
现有方案中每一套需要图形验证码的应用系统往往单独开发一套图形验证码方案,不同的应用系统对应不同的图片验证系统,这种架构方式会浪费开发成本及网络系统资源,有鉴于此,本发明实施例中采用多个应用系统共用一个图片验证系统的架构,验证服务系统可以接收多个不同的应用系统对应的应用端后台系统的验证请求,允许不同应用系统采用具有不同参数信息的图形验证码,不同应用系统可以在其发出的验证请求中设置所需的图形验证码参数信息,图形验证码参数信息可以包括图形验证码的尺寸、图片复杂度、噪点级别等,具体的图形验证码参数信息可以根据应用系统的需求进行合理的设置,此处不做限定。
200、根据图形验证码参数信息生成图形验证码及对应的点选操作指示信息,并将图形验证码及对应的点选操作指示信息发送给对应的目标应用端后台系统;
在接收到目标应用端后台系统发送的验证请求之后,验证服务系统可以根据图形验证码参数信息生成图形验证码及对应的点选操作指示信息,并将图形验证码及对应的点选操作指示信息发送给对应的目标应用端后台系统,该点选操作指示信息指示点选操作预置步骤信息,以使得目标用户可以按照点选操作指示信息进行验证操作。
进一步的,请参阅图2,图2为图1中步骤200的细化步骤示意图。作为一种可能的实施方式,步骤200可包括:
201、从背景库中随机抽取一张目标图片作为背景图片,并在背景图片上随机绘制斑点图案;
验证服务系统可以根据图形验证码参数信息从背景库中随机抽取一张符合要求的目标图片作为背景图片,并在背景图片上随机绘制斑点图案,进一步的,本实施例中验证服务系统可以为每个验证请求分配不同的背景图片,确保图形验证码相互混淆。
202、从gbk汉字库中随机获取第一预置数目的汉字形成第一集合;
验证服务系统可以gbk汉字库中的20000多个汉字中随机获取第一预置数目的汉字形成第一集合,具体的第一预置数目可以根据图形验证码参数信息确定,也可以根据验证服务系统的默认设置确定第一预置数目,具体此处不做限定。
203、分别为第一集合中的汉字随机选择对应的字体信息,并按照字体信息将对应的汉字绘制在不同的临时画布中;
为了确保图形验证码相互混淆,验证服务系统可以随机选择第一预置数目字体信息,按照选取的第一预置数目字体信息分别绘制第一集合中的汉字到不同的临时画布中,具体的,字体信息可以包括字体大小、字体风格、字体颜色、字体旋转角度中的一种或多种,此处不做限定。
可选的,验证服务系统还可以进一步的通过圆周率及正弦计算,对每个临时画布做扭曲及拉伸处理,让画布中的文字基本无法快速通过一般的机器识别技术而识别出来,提高了图形验证码验证的安全性。
204、在背景图片上随机选择第一预置数目的画布坐标点,并将临时画布分别绘制到画布坐标点处,形成图形验证码;
在将第一集合中的汉字绘制到临时画布之后,验证服务系统可以在背景图片上随机选择第一预置数目的画布坐标点,并将步骤203中的临时画布分别绘制到画布坐标点处,形成图形验证码。
可选的,为了进一步的确保图形验证码相互混淆,增加一般的机器识别技术而识别图形验证码的难度,在将临时画布分别绘制到画布坐标点处之后,验证服务系统还可以在背景图片随机生成预置数目的点坐标,并根据不同的字体信息在该背景图片中生成对应的噪点。
可选的,验证服务系统还可以进一步的根据目标汉字的字体颜色,在目标汉字上用近似颜色画上不同长度的直线或曲线作为干扰线,干扰线的种类可以包括实线、虚线、短横线三类风格,具体的干扰线形式此处不做限定。
205、从第一集合中按照顺序随机选取第二预置数目的不同汉字作为目标汉字形成第二集合;
在选取第一集合中的汉字之后,验证服务系统还可以从第一集合中按照顺序随机选取第二预置数目的不同汉字作为目标汉字形成第二集合,具体的第二预置数目可以根据图形验证码参数信息确定,也可以根据验证服务系统的默认设置确定第二预置数目,只需保证第二预置数目不大于第一预置数目即可,具体第二预置数目此处不做限定。
206、根据第二集合中及第二集合中目标汉字的顺序生成图形验证码对应的点选操作指示信息。
在确定第二集合的汉字之后,验证服务系统可以根据第二集合中及第二集合中目标汉字的顺序生成图形验证码对应的点选操作指示信息,具体的,例如,请参阅图3,当第一集合随机选择为5个汉字,分别为“敲”、“弹”、“碴”、“舱”、“盆”,第二集合中的汉字按照顺序依次为“敲”、“盆”、“弹”,该点选操作指示信息可以为“请按顺序依次点击下图中的“敲”、“盆”、“弹”三个字:”,该点选操作指示信息也可以为按照顺序排列的“敲”、“盆”、“弹”三个字,对应的应用端后台系统可以根据这三个字生成更具体的点选操作指示信息,可以理解的是,上述图3所示的点选操作指示信息的具体运用实例中的第一集合及第二集合中的汉字的数目仅仅是示例性的,具体的此处不做限定。在生成图形验证码及对应的点选操作指示信息之后,验证服务系统可以将图形验证码及对应的点选操作指示信息发送给对应的目标应用端后台系统,该点选操作指示信息指示点选操作预置步骤信息,以使得目标用户可以按照点选操作指示信息进行验证操作。
本实施例中,验证服务系统通过根据字体、颜色、线干扰,点干扰,背景干扰,文字图片扭曲、旋转等技术,对图形验证码设置多维度的噪点干扰,防止验证码被恶意程序或自动化程序进行自动识别,增加了图形验证码验证的安全性。
300、保存点选操作指示信息对应的验证信息;
在生成图形验证码之后,可以保存操作指示信息对应的验证信息,该验证信息可以包括点选操作预置步骤信息及预置坐标信息。
具体的,对应于图2所示的实施例,该点选操作预置步骤信息可以包括第二集合中的汉字的顺序信息,该预置坐标信息可以包括第二集合中的汉字的坐标信息。
400、接收目标应用端后台系统反馈的点选操作信息;
验证服务系统将图形验证码及对应的点选操作指示信息发送给对应的目标应用端后台系统之后,对应的目标应用端后台系统可以向对应的应用端前台系统反馈其接收到的图形验证码及对应的点选操作指示信息,以使得应用端前台系统的目标用户可以按照点选操作指示信息在图形验证码上进行点选操作,对应的应用端前台系统可以根据目标用户的点选操作步骤及点选坐标信息生成对应的点选操作信息,并通过对应的目标应用端后台系统将该点选操作信息传递给验证服务系统,以进行进一步的验证。
500、判断点选操作信息是否与验证信息匹配,若匹配,则判定目标用户验证成功,若不匹配,则判定目标用户验证失败。
在接收到目标应用端后台系统反馈的点选操作信息之后,验证服务系统可以根据该点选操作信息判断目标用户点选操作步骤是否与验证信息相匹配,若匹配,则判定目标用户验证成功,若不匹配,则判定目标用户验证失败。
可选的,对应于图2所示的实施例,作为一种可能的实施方式,验证服务系统判断目标用户点选操作步骤是否与验证信息相匹配,包括:
若目标用户的点选操作的点选坐标点与第二集合中的目标汉字的坐标点不匹配,或,目标用户的点选操作的点选坐标点的先后顺序与第二集合中的目标汉字的顺序不匹配,则判定目标用户点选操作步骤与验证信息不匹配;
若目标用户的点选操作的点选坐标点与第二集合中的目标汉字的坐标点相匹配,且目标用户的点选操作的点选坐标点的先后顺序与第二集合中的目标汉字的顺序相匹配,则判定目标用户点选操作步骤与验证信息相匹配。
具体的,验证服务系统可以先判断目标用户的点选操作的点选坐标点是否与第二集合中的目标汉字的坐标点相匹配;然后,判断目标用户的点选操作的点选坐标点的先后顺序是否与第二集合中的目标汉字的顺序相匹配,最终,根据两次判断结果综合分析得出目标用户的验证结果。
可以理解的是,在本发明的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本实施例中,验证服务系统可以根据不同应用端后台系统发送的验证请求中包含图形验证码参数信息来生成图形验证码及对应的点选操作指示信息,相对于现有方案,本发明实施例中多个应用系统可以共用一套验证系统,节约开发成本及网络系统资源,对应的目标应用端后台系统可以向该验证服务系统反馈目标用户在图形验证码上的点选操作步骤生成的点选操作信息,该验证服务系统可以根据点选操作信息判断目标用户点选操作是否与验证信息相匹配,进而确定目标用户验证成功与否,相对于现有方案,只需用户进行点选操作,无需输入操作,简化了用户验证操作,提升了用户体验,同时,验证过程中无需输入和传输字符信息,只需传递用户点选操作信息,增加了恶意程序或机器代码识别验证过程的难度,进而增加了图形验证码验证过程的安全性。上述实施例对本发明实施例中的一种点选图形验证码的验证方法的流程进行了描述,为了便于理解,下面将结合具体的运用实例对本发明实施例中的一种点选图形验证码的验证方法进行详细描述,请参阅图4,本发明实施例中的一种点选图形验证码的验证方法的一个具体运用实例可包括:
本实施例中,实现基于图形验证码的验证方法的具体系统架构如图4所示,系统由应用端组件30及验证服务系统40组成,其中:
应用端组件30由前端sdk(softwaredevelopmentkit,应用软件的开发工具集合)301及后台接入sdk302组成,其中前端sdk301可以包含websdk3011,androidsdk3012,iossdk3013。前端sdk301用于提供网站或互联网应用前端调用验证码服务的功能,后台接入sdk302用于实现网站或互联网应用后台与验证码验证服务系统接口的服务对接。应用开发人员只需将相应的组件集成到项目中后,简单地调用几行代码即可完成与验证码云端验证平台的对接,实现应用程序验证码的生成、显示与校验功能。
具体的,websdk3011用于实现企业网站、门户网站、互联网应用的验证码校验,本发明的系统提供相应的javascript库,供网站与互联网应用系统开发人员进行功能集成。
androidsdk3012用于实现安卓android平台的应用的验证码校验功能,本发明的系统提供相应平台的jar文件库函数,供android开发人员进行功能集成。
iossdk3013用于实现苹果ios平台的应用的验证码校验功能,本发明的系统提供相应平台的头文件及静态库,供苹果开发人员进行功能集成。
后台接入sdk302用于实现网站或互联网应用系统的后台与验证码验证服务系统接口的对接。
验证服务系统40由服务器接口401,验证码生成程序402、干扰噪点处理程序403、验证码校验程序404及缓存服务器405组成,其中,
服务器接口401,用于提供应用接入功能,并提供验证码图片生成及校验的接口对接功能,即应用接入验证码功能的入口;
验证码生成程序402,用于根据开发人员指定的参数,生成对应的图形验证码,在经过噪点处理后,以二进制流的方式返回给调用端的应用程序;
干扰噪点处理程序403,用于对生成的图形验证码加以彩色噪点、干扰线处理及对验证码中的文字做扭曲变形处理;
验证码校验程序404,用于用户通过点击图形验证码的校验点后,前端sdk组件会自动记录将用户的点选操作信息,并按照预置的规则完成图形验证码的校验;
缓存服务器405,用于实现点选图形验证码中的验证信息的临时存储,本实施例中,优选的,可以使用开源的redis作为数据缓存服务器。
本实施例中,验证服务系统为外部业务系统提供服务器接口,业务系统不需关心具体的实现过程,开发者只需通过本发明应用的系统提供的各种平台sdk,即可将本实施例中的图形验证码集成运用到开发者的应用中,节约了开发成本及网络系统资源。
可以理解的是,本发明实施例中所示的基于图形验证码的验证方法可以用于互联网应用中的注册、登录、信息提交等场景中的验证,防止恶意程序对互联网应用的攻击或暴力破解,从而有效地保障互联网应用业务的安全性,具体的运用场景,此处不做限定。
上述实施例对本发明实施例中的一种点选图形验证码的验证方法进行了描述,下面将对本发明实施例中的一种点选图形验证码的验证系统进行描述,请参阅图5,本发明实施例中一种点选图形验证码的验证系统的一个实施例可包括:
至少一个应用端后台系统70,应用端前台系统60,验证服务系统50,其中,
验证服务系统50包括第一接收模块501,用于接收不同应用端后台系统发送的验证请求,验证请求中包含图形验证码参数信息;
验证服务系统还包括生成模块502,用于根据图形验证码参数信息生成图形验证码及对应的点选操作指示信息,并发送给对应的目标应用端后台系统;
验证服务系统还包括存储模块505,用于保存操作指示信息对应的验证信息,验证信息包括点选操作预置步骤信息及预置坐标信息;
应用端后台系统70用于接收对应的应用端前台系统60发送的点选操作信息,操作信息根据目标用户在图形验证码上的点选操作步骤生成;
验证服务系统50还包括第二接收模块503,用于接收目标应用端后台系统反馈的点选操作信息;
验证服务系统50还包括判断模块504,用于判断点选操作信息是否与验证信息匹配,若匹配,则判定目标用户验证成功,若不匹配,则判定目标用户验证失败。
可以理解的是,图5中所示的应用端后台系统与应用端前台系统的对应关系仅仅是示例性的,一个应用端后台系统可以对应一个或多个应用端前台系统,具体此处不做限定。
本实施例中,验证服务系统可以根据不同应用端后台系统发送的验证请求中包含图形验证码参数信息来生成图形验证码及对应的点选操作指示信息,相对于现有方案,本发明实施例中多个应用系统可以共用一套验证系统,节约开发成本及网络系统资源,对应的目标应用端后台系统可以向该验证服务系统反馈目标用户在图形验证码上的点选操作步骤生成的点选操作信息,该验证服务系统可以根据点选操作信息判断目标用户点选操作是否与验证信息相匹配,进而确定目标用户验证成功与否,相对于现有方案,只需用户进行点选操作,无需输入操作,简化了用户验证操作,提升了用户体验,同时,验证过程中无需输入和传输字符信息,只需传递用户点选操作信息,增加了恶意程序或机器代码识别验证过程的难度,进而增加了图形验证码验证过程的安全性。
可选的,作为一种可能的实施方式,请参阅图6,本实施例中的生成模块502,可以包括:
第一选择单元5021,用于从背景库中随机抽取一张与图形验证码参数信息相匹配的目标图片作为背景图片,并在背景图片上随机绘制斑点图案;
第二选择单元5022,用于从gbk汉字库中随机获取第一预置数目的汉字形成第一集合;
第三选择单元5023,用于分别为第一集合中的汉字随机选择对应的字体信息,并按照字体信息将对应的汉字绘制在不同的临时画布中,字体信息包括字体大小、字体风格、字体颜色、字体旋转角度中的一种或多种;
第一生成单元5024,用于在背景图片上随机选择第一预置数目的画布坐标点,并将临时画布分别绘制到画布坐标点处,生成图形验证码;
第四选择单元5025,用于从第一集合中按照顺序随机选取第二预置数目的不同汉字作为目标汉字形成第二集合;
第二生成单元5026,用于根据第二集合中及第二集合中目标汉字的顺序生成图形验证码对应的点选操作指示信息。
可选的,作为一种可能的实施方式,本实施例中的生成模块502,可以进一步包括:
画布处理单元5027,用于在将临时画布分别绘制到画布坐标点处之前,通过圆周率及正弦计算,对每个临时画布做扭曲及拉伸处理。
可选的,作为一种可能的实施方式,请参阅图7,本实施例中的生成模块502,可以进一步包括:
噪点生成单元5028,用于在背景图片随机生成预置数目的点坐标,并根据不同的字体信息在该背景图片中生成对应的噪点;
干扰线生成单元5029,用于根据目标汉字的字体颜色,在目标汉字上用近似颜色画上不同长度的直线或曲线作为干扰线,干扰线的种类包括实线、虚线、短横线三类风格。
可选的,作为一种可能的实施方式,请参阅图8,本实施例中的判断模块504,可以包括:
第一判断单元5041,若目标用户的点选操作的点选坐标点与第二集合中的目标汉字的坐标点不匹配,或,目标用户的点选操作的点选坐标点的先后顺序与第二集合中的目标汉字的顺序不匹配,则判定点选操作信息与验证信息不匹配;若目标用户的点选操作的点选坐标点与第二集合中的目标汉字的坐标点相匹配,且目标用户的点选操作的点选坐标点的先后顺序是否与第二集合中的目标汉字的顺序相匹配,则判定点选操作信息与验证信息相匹配;
第二判断单元5042,若点选操作信息与验证信息匹配,则判定目标用户验证成功,若点选操作信息与验证信息不匹配,则判定目标用户验证失败。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。