一种获取验证码的方法及服务器技术

技术编号:19828878 阅读:15 留言:0更新日期:2018-12-19 17:02
本申请公开了一种获取验证码的方法及服务器,该方法包括:接收到客户端发送的第一签名数据,并对第一签名数据进行验证;当对第一签名数据验证通过后,向客户端返回验证通过通知;若接收到客户端发送的登录请求,则对登录请求中携带的用户名和密码进行验证;当对用户名和所述密码验证通过后,向客户端返回登录请求所请求的验证码。本申请是由服务器端直接将正确验证码返回至客户端,无需客户端进行验证码识别,从而使客户端准确的获取到了验证码。

【技术实现步骤摘要】
一种获取验证码的方法及服务器
本申请涉及计算机
,尤其涉及一种获取验证码的方法及服务器。
技术介绍
目前,为了提高安全性及防止机器人恶意操作,往往需要用户输入验证码来保证网络的安全登录。实际上,网络登录的安全级别会有不同,越高级别的安全性要求,所生成的验证码干扰越强。然而,在进行自动化测试时,比如与下载文件相关的自动化测试,需要通过机器自动填写验证码,为了正常的实现自动化测试,现有技术通过图像识别,识别出具体的验证码内容并进行填写,从而实现自动化测试。但是,越高安全级别的网络登录,机器在进行图像识别时,其图像识别成功率就越低,即识别正确率越低,这使得自动化测试难以高效的执行,甚至由于不能正确识别出验证码,导致自动化测试不能顺利执行。
技术实现思路
本申请实施例的主要目的在于提供一种获取验证码的方法及服务器,能够准确的获取验证码。本申请实施例提供的一种获取验证码的方法,所述方法应用于一种服务器,包括:接收到客户端发送的第一签名数据,并对所述第一签名数据进行验证;当对所述第一签名数据验证通过后,向所述客户端返回验证通过通知;若接收到所述客户端发送的登录请求,则对所述登录请求中携带的用户名和密码进行验证;当对所述用户名和所述密码验证通过后,向所述客户端返回所述登录请求所请求的验证码。可选的,所述第一签名数据是所述客户端利用签名生成参数所生成的,所述签名生成参数包括令牌、时间戳、随机数中的至少一个参数。可选的,所述第一签名数据按照下述方式生成:将所述签名生成参数中的各个参数进行字典排序;将排序结果进行加密,并将加密结果转换为字符串签名,作为所述第一签名数据。可选的,所述方法还包括:接收所述客户端发送的所述签名生成参数;则,所述对所述第一签名数据进行验证,包括:按照所述第一签名数据的生成方式,利用所述签名生成参数生成第二签名数据;判断所述第一签名数据与所述第二签名数据是否相同;若相同,则验证通过,若不同,则验证不通过。可选的,所述方法还包括:若获取到所述客户端发送的令牌,则确定所述令牌是否是用于调用所述服务器端封装的验证码调用接口的令牌;若是,则调用所述验证码调用接口,以执行所述接收到客户端发送的第一签名数据的步骤;若否,则禁止调用所述验证码调用接口。本申请实施例还提供了一种服务器,包括:签名验证单元,用于接收到客户端发送的第一签名数据,并对所述第一签名数据进行验证;通知返回单元,用于当对所述第一签名数据验证通过后,向所述客户端返回验证通过通知;用户验证单元,用于若接收到所述客户端发送的登录请求,则对所述登录请求中携带的用户名和密码进行验证;验证码返回单元,用于当对所述用户名和所述密码验证通过后,向所述客户端返回所述登录请求所请求的验证码。可选的,所述第一签名数据是所述客户端利用签名生成参数所生成的,所述签名生成参数包括令牌、时间戳、随机数中的至少一个参数。可选的,所述第一签名数据按照下述方式生成:将所述签名生成参数中的各个参数进行字典排序,将排序结果进行加密,并将加密结果转换为字符串签名,作为所述第一签名数据。可选的,所述服务器还包括:参数接收单元,用于接收所述客户端发送的所述签名生成参数;则,所述签名验证单元包括:签名生成子单元,用于按照所述第一签名数据的生成方式,利用所述签名生成参数生成第二签名数据;签名判断子单元,用于判断所述第一签名数据与所述第二签名数据是否相同;若相同,则验证通过,若不同,则验证不通过。可选的,所述服务器还包括:令牌确定单元,用于若获取到所述客户端发送的令牌,则确定所述令牌是否是用于调用所述服务器端封装的验证码调用接口的令牌;若是,则调用所述验证码调用接口,以利用所述签名验证单元实现所述接收到客户端发送的第一签名数据的功能;若否,则禁止调用所述验证码调用接口。由此可见,本申请实施例具有如下有益效果:本申请实施例中,服务器端接收到客户端发送的第一签名数据后对其进行验证,如果验证通过则向客户端返回验证通过通知;然后,当服务器端接收到客户端发送的携带用户名和密码的登录请求后,对该登录请求进行验证,如果服务器端对用户名和密码验证通过后,则向客户端返回登录请求所请求的验证码。其中,服务器端在分别验证了客户端的权限以及登录用户的合法性后,将验证码发送给客户端。可见,本申请实施例是由服务器端直接将正确验证码返回至客户端,无需客户端进行验证码识别,从而使客户端准确的获取到了验证码。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种获取验证码的方法的交互示意图;图2为本申请实施例提供的一种生成第一签名数据的方法的流程图;图3为本申请实施例提供的一种令牌验证的流程图;图4为本申请实施例提供的一种服务器端验证第一签名数据的流程图;图5为本申请实施例提供的一种服务器的组成示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,为了提高安全性及防止机器人恶意操作,往往需要用户输入验证码来保证网络的安全登录。实际上,网络登录的安全级别会有不同,越高级别的安全性要求,所生成的验证码干扰越强。然而,在进行自动化测试时,比如与下载文件相关的自动化测试,需要通过机器自动填写验证码,为了正常的实现自动化测试,现有技术通过图像识别,识别出具体的验证码内容并进行填写,从而实现自动化测试。但是,越高安全级别的网络登录,机器在进行图像识别时,其图像识别的成功率就越低,即识别正确率越低,这使得自动化测试难以高效的执行,甚至由于不能正确识别出验证码,导致自动化测试不能顺利执行。基于此,本申请实施例提供了一种获取验证码的方法,以解决现有技术中在动化测试时验证码识别正确率低的技术问题。在本实施例中,服务器端封装了一个验证码调用接口,当客户端开启了该验证码调用接口的调用权限并进一步具备了该验证码调用接口的使用权限后,服务器端则可以向客户端返回验证码。其中,该验证码调用接口可以用于在自动化测试时获取验证码的场景。参见图1,为本实施例提供的一种获取验证码的方法的交互示意图,包括以下步骤S101-S109:S101:客户端生成第一签名数据。在本实施例中,验证码调用接口提供信息验证功能,即验证该客户端是否具有调用该接口的权限,其中,客户端生成的第一签名数据可以是判断该客户端是否具有该接口调用权限的一种验证信息,客户端生成第一签名数据的方式应当与验证码调用接口产品包中设置的生成验证信息的方式一致。在本实施例的一种实现方式中,第一签名数据是客户端利用签名生成参数所生成的。其中,该签名生成参数可以是与验证码调用接口有关、或者是与客户端在生成第一签名数据时的相关情形有关的参数,具体地,该签名生成参数可以包括令牌、时间戳、随机数中的至少一本文档来自技高网...

【技术保护点】
1.一种获取验证码的方法,其特征在于,所述方法应用于一种服务器,所述方法包括:接收到客户端发送的第一签名数据,并对所述第一签名数据进行验证;当对所述第一签名数据验证通过后,向所述客户端返回验证通过通知;若接收到所述客户端发送的登录请求,则对所述登录请求中携带的用户名和密码进行验证;当对所述用户名和所述密码验证通过后,向所述客户端返回所述登录请求所请求的验证码。

【技术特征摘要】
1.一种获取验证码的方法,其特征在于,所述方法应用于一种服务器,所述方法包括:接收到客户端发送的第一签名数据,并对所述第一签名数据进行验证;当对所述第一签名数据验证通过后,向所述客户端返回验证通过通知;若接收到所述客户端发送的登录请求,则对所述登录请求中携带的用户名和密码进行验证;当对所述用户名和所述密码验证通过后,向所述客户端返回所述登录请求所请求的验证码。2.根据权利要求1所述的方法,其特征在于,所述第一签名数据是所述客户端利用签名生成参数所生成的,所述签名生成参数包括令牌、时间戳、随机数中的至少一个参数。3.根据权利要求2所述的方法,其特征在于,所述第一签名数据按照下述方式生成:将所述签名生成参数中的各个参数进行字典排序;将排序结果进行加密,并将加密结果转换为字符串签名,作为所述第一签名数据。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的所述签名生成参数;则,所述对所述第一签名数据进行验证,包括:按照所述第一签名数据的生成方式,利用所述签名生成参数生成第二签名数据;判断所述第一签名数据与所述第二签名数据是否相同;若相同,则验证通过,若不同,则验证不通过。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:若获取到所述客户端发送的令牌,则确定所述令牌是否是用于调用所述服务器端封装的验证码调用接口的令牌;若是,则调用所述验证码调用接口,以执行所述接收到客户端发送的第一签名数据的步骤;若否,则禁止调用所述验证码调用接口。6.一种服务器,其特征在于,包括:签名验证单元,用于接收到客户...

【专利技术属性】
技术研发人员:王杰
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1