业务响应方法及服务器与流程

文档序号:17247975发布日期:2019-03-30 08:55阅读:269来源:国知局
业务响应方法及服务器与流程

本发明涉及互联网技术领域,尤其涉及业务响应方法及服务器。



背景技术:

随着互联网技术的普及,人们通过专属账号登录应用,并使用该应用提供的服务进行工作、娱乐或者学习等,但这些服务往往又牵扯到金钱和隐私等问题。为了保护用户的账号安全,可以通过验证的方式响应业务请求。传统的验证方式为:服务器响应客户端发送的业务请求生成第一验证码,服务器将该第一验证码发送给客户端。客户端接收用户响应第一验证码输入的待校验的验证码,客户端将待校验的验证码发送给服务器。服务器将待校验的验证码和第一验证码进行比较,当待校验的验证码和第一验证码不相同时,确定第一次验证失败。服务器执行第二次验证操作,即生成第二验证码,并将第二验证码发送给客户端。当验证失败的次数达到预设阈值时,服务器不响应客户端发送的业务请求。

但是上述验证方式仅将待校验的验证码和第一验证码进行比较,以判断是否验证失败,且验证失败的次数达到预设阈值时不响应业务请求,导致验证判断的准确度较低,降低业务响应的可靠性。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供业务响应方法及服务器,可根据客户端的验证数据判断是否校验失败,提高验证判断的准确度,且通过多次校验结果响应业务请求,可提高业务响应的可靠性。

为了解决上述技术问题,第一方面,本发明实施例提供了一种业务响应方法,所述方法包括:

在接收到客户端发送的业务请求时,生成第一验证码,并将所述第一验证码发送给所述客户端;

在接收到所述客户端发送的第一验证数据时,对所述第一验证数据进行分析处理,得到第一校验结果;

在所述第一校验结果为校验失败时,基于所述第一验证数据生成第二验证码,并将所述第二验证码发送给所述客户端;

在接收到所述客户端发送的第二验证数据时,对所述第二验证数据进行分析处理,得到第二校验结果;

在所述第二校验结果为校验成功时,响应所述业务请求。

第二方面,本发明实施例提供了一种服务器,所述服务器包括用于执行第一方面所述的方法的单元。

第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被服务器执行时使所述服务器执行如第一方面所述的方法。

第四方面,本发明实施例提供了一种服务器,该服务器包括:处理器、存储器和通信接口,存储器中存储有程序指令,处理器调用存储器中存储的程序指令以用于执行如第一方面所述的方法。

实施本发明实施例,即使服务器生成的验证码和客户端发送的待校验的验证码相同,如果服务器对客户端进行验证操作的过程中的验证数据进行分析处理,确定该验证操作为可疑操作,则得到校验失败的校验结果,可提高验证判断的准确度。另外,服务器基于当前验证操作的校验结果和当前验证操作之前的所有验证操作的校验结果响应业务请求,可综合判断上述验证操作是否为可以操作,提高业务响应的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;

图1是本申请实施例中提供的一种业务响应系统的架构示意图;

图2是本申请实施例中提供的一种业务响应方法的流程示意图;

图3a是本申请实施例中提供的一种验证界面示意图;

图3b是本申请实施例中提供的另一种验证界面示意图;

图3c是本申请实施例中提供的另一种验证界面示意图;

图3d是本申请实施例中提供的另一种验证界面示意图;

图3e是本申请实施例中提供的一种行为轨迹的界面示意图;

图4是本申请实施例中提供的另一种业务响应方法的流程示意图;

图5是本申请实施例中提供的一种服务器的结构示意图;

图6是本申请实施例中提供的另一种服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相对传统的业务响应方法,服务器仅将生成的验证码和客户端发送的待校验的验证码进行比较,以判断是否校验失败,服务器的判断维度较单一,导致验证判断的准确度较低。另外,服务器第一次验证失败之后,会执行第二次验证操作,当验证失败的操作次数达到预设阈值时将不响应业务请求,仅通过验证失败的操作次数无法有效识别是否为可疑操作,降低业务响应的可靠性。

本申请实施例中的业务响应方法,即使服务器生成的验证码和客户端发送的待校验的验证码相同,如果服务器对客户端进行验证操作的过程中的验证数据进行分析处理,确定该验证操作为可疑操作,得到校验失败的校验结果,可提高验证判断的准确度。另外,服务器基于当前验证操作的校验结果和当前验证操作之前的所有验证操作的校验结果响应业务请求,可综合判断上述验证操作是否为可以操作,提高业务响应的可靠性。

其中,服务器生成的验证码的验证码类型可以为输入式验证码或者行为式验证码,或者,验证码的验证码类型也可以为滑动验证码、字符验证码或者图形验证码。示例性的,服务器可以随机生成验证码,也可以基于预设算法生成验证码,具体不受本申请实施例的限定。以图3a所示的验证界面示意图为例,服务器生成的验证码为行为式验证码,也是滑动验证码。以图3c所示的验证界面示意图为例,服务器生成的验证码为输入式验证码,也是字符验证码。

其中,验证数据可以包括客户端的行为数据和环境数据中的一种或者多种。行为数据可以包括客户端的行为轨迹,例如鼠标指针在显示屏幕中的移动轨迹,鼠标指针在显示屏幕中的点击位置,鼠标指针在各个点击位置的点击次数或者点击时长等。以图3e所示的行为轨迹的界面示意图为例,如果在同一时间段内,鼠标指针在显示屏幕中由位置a移动至位置b,且由位置a移动至位置c,则服务器可以识别该行为轨迹不是用户行为轨迹,有可能是模拟器操作得到的。在另一实施例中,鼠标指针由位置a移动至位置b,鼠标指针位于10:10这一时刻在显示屏幕中的点击位置为位置a,鼠标指针位于10:11这一时刻在显示屏幕中的点击位置为位置b,而用户在实际操作中,由于由位置a移动至位置b的滑动轨迹较长,用户无法在一秒的时间段内由位置a移动至位置b,则服务器可以识别该行为轨迹不是用户行为轨迹。在另一实施例中,如果鼠标指针在预设时间段(例如一秒)内在同一点击位置的点击次数为100次,而用户在实际操作中,无法在短时间内点击这么多次,则服务器可以识别该行为轨迹不是用户行为轨迹。

环境数据可以包括运行客户端的终端参数、浏览器配置参数或者网络之间互连的协议(internetprotocol,ip)地址等。终端参数可以包括显示屏幕的分辨率、终端型号或者终端标识等。浏览器配置参数可以包括浏览器窗口参数、地址栏功能、浏览辅助工具或者安全级别等。例如,服务器可以预先生成标准环境数据,当客户端的环境数据和标准环境数据不相同时,服务器可以识别该客户端为模拟器,确定校验结果为校验失败。又如,标准环境数据可以包括标准终端参数、标准浏览器配置参数或者标准ip地址,当客户端的终端参数和标准终端参数不相同,客户端的浏览器配置参数和标准浏览器配置参数不相同,或者客户端的ip地址和标准ip地址不相同时,服务器可以确定校验结果为校验失败。

在本申请实施例中,即使第一校验结果为校验失败,服务器可以基于第一验证数据判断是否进行再次验证操作,若是,则进行第二次验证操作,如果待校验的验证码和第二验证码相同,且对第二验证数据进行分析处理,确定客户端正常,则服务器可以响应业务请求。如果待校验的验证码和第二验证码不相同,或者对第二验证数据进行分析处理,确定客户端标准,则服务器可以得到第二校验结果,在第一校验结果为校验失败,且第二校验结果为校验失败的情况下,服务器可以基于第一验证数据和第二验证数据判断是否进行再次验证操作,若是,则进行第三次验证操作,即生成第三验证码;若不是,则删除该业务请求。

其中,服务器可以是互联网中的一个独立服务设备,或者是由互联网中的多个独立服务设备共同构成的集群服务设备;该服务器可用于处理互联网应用在实现数据上传、数据下载、数据管理以及信息交互等功能的过程中的各种业务请求,并且,该服务器可生成验证码,且对验证操作进行校验。示例性的,服务器可以为即时通信服务器或者sns(socialnetworkingservices,社会性网络服务)服务器等。即时通信服务器可以包括网页推送服务器、微信服务器、qq服务器或者facebook服务器等。

其中,服务器可与至少一个客户端建立通信连接,客户端为发起业务请求方,例如运行在个人电脑、智能手机(如android手机、ios手机等)、平板电脑、掌上电脑或者可穿戴设备等终端中。客户端可以运行至少一个业务,包括但不限于:登录业务、支付业务或者数据传输业务等等,具体不受本申请实施例的限制。

请参见图1,图1是本申请实施例公开的一种业务响应系统的架构示意图,如图1所示,该业务响应系统可以包括服务器101以及至少一个客户端102,其中至少一个客户端102可以通过互联网连接至服务器101,以进行数据通信。

在本申请实施例中,用户访问需要进行验证操作的应用时,可以通过客户端102向服务器101发送该应用的业务请求。服务器101可以进行验证操作,即生成第一验证码,并将第一验证码发送给客户端102。客户端102显示第一验证码,并在用户响应第一验证码输入待校验的验证码的过程中,获取第一验证数据,客户端102将第一验证数据发送给服务器101。服务器101对第一验证数据进行分析处理,得到第一校验结果,在第一校验结果为校验失败时,服务器101基于第一验证数据判断是否再次进行验证操作,若是,则生成第二验证码,并将第二验证码发送给客户端102。客户端102显示第二验证码,并在用户响应第二验证码输入待校验的验证码的过程中,获取第二验证数据,客户端102将第二验证数据发送给服务器101。服务器101对第二验证数据进行分析处理,得到第二校验结果,在第二校验结果为校验成功时,响应业务请求。

其中,本申请实施例中获取第一验证数据的验证操作可以理解为获取第二验证数据的验证操作之前的所有验证操作,获取第一验证数据的验证操作的操作次数可以为一次或者多次,具体不受本申请实施例的限制。

基于图1所述的业务响应系统,请参见图2,图2是本申请实施例公开的一种业务响应方法的流程示意图。如图2所示,该业务响应方法至少可以包括以下步骤:

s201,客户端向服务器发送业务请求。

用户访问需要进行验证操作的应用时,可以通过客户端向服务器发送该应用的业务请求。

s202,服务器生成第一验证码。

服务器接收到客户端发送的业务请求之后,可以随机生成第一验证码,或者通过预设算法生成第一验证码。其中,第一验证码可以为输入式验证码或者行为式验证码,或者,也可以为滑动验证码、字符验证码或者图形验证码。

s203,服务器将第一验证码发送给客户端。

s204,客户端获取第一验证数据。

服务器将第一验证码发送给客户端之后,客户端可以显示第一验证码,用户可以响应第一验证码进行验证操作,客户端接收到用户点击提交按钮所输入的确认指令之后,客户端可以获取用户在进行验证操作的过程中采集到的第一验证数据。第一验证数据可以包括客户端的第一行为数据和第一环境数据。第一行为数据例如鼠标指针在显示屏幕中的移动轨迹,鼠标指针在显示屏幕中的点击位置,鼠标指针在各个点击位置的点击次数或者点击时长等。第一环境数据例如运行客户端的终端参数、浏览器配置参数或者ip地址等。

s205,客户端将第一验证数据发送给服务器。

s206,服务器对第一验证数据进行分析处理,得到第一校验结果。

在一种可选的实施例中,服务器可以通过神经网络算法对客户端的第一行为数据进行分析,得到客户端的第一行为轨迹,当识别第一行为轨迹不是用户行为轨迹时,确定第一校验结果为校验失败。

以图3e所示的行为轨迹的界面示意图为例,如果在同一时间段内,鼠标指针在显示屏幕中由位置a移动至位置b,且由位置a移动至位置c,则服务器可以识别该行为轨迹不是用户行为轨迹,有可能是模拟器操作得到的。在另一实施例中,鼠标指针由位置a移动至位置b,鼠标指针位于10:10这一时刻在显示屏幕中的点击位置为位置a,鼠标指针位于10:11这一时刻在显示屏幕中的点击位置为位置b,而用户在实际操作中,由于由位置a移动至位置b的滑动轨迹较长,用户无法在一秒的时间段内由位置a移动至位置b,则服务器可以识别该行为轨迹不是用户行为轨迹。在另一实施例中,如果鼠标指针在预设时间段(例如一秒)内在同一点击位置的点击次数为100次,而用户在实际操作中,无法在短时间内点击这么多次,则服务器可以识别该行为轨迹不是用户行为轨迹。

在一种可能的实现方式中,服务器可以将第一环境数据与预设数据库中的标准环境数据进行比较,当第一环境数据与标准环境数据不相同时,确定第一校验结果为校验失败。

在一种可能的实现方式中,如果第一环境数据包括运行客户端的终端参数、浏览器配置参数或者ip地址中的至少一个,服务器可以将终端参数与预设数据库中的标准终端参数进行比较,或者将浏览器参数与预设数据库中的标准浏览器参数进行比较,或者将ip地址与预设数据库中的标准ip地址进行比较,当终端参数与标准终端参数不相同,或者浏览器参数与标准浏览器参数不相同,或者ip地址与标准ip地址不相同时,确定第一校验结果为校验失败。

在一种可能的实现方式中,服务器在接收到客户端发送的业务请求时,还可以生成会话标识,将会话标识发送给客户端,并接收客户端发送的待校验的会话标识,当待校验的会话标识和会话标识不相同时,确定第一校验结果为校验失败。其中,会话标识用于指示业务请求所请求的业务。

本申请实施例通过将客户端发送的待校验的会话标识和服务器生成的会话标识进行比较,可识别客户端是否为伪客户端,提高客户端识别的精确度。

进一步的,服务器生成会话标识之后,可以对会话标识进行加密,将加密后的会话标识发送给客户端,客户端无法对加密后的会话标识进行解密,则客户端接收到加密后的会话标识之后,可以将加密后的会话标识发送给服务器,服务器将客户端发送的会话标识和服务器生成的会话标识进行比较,当客户端发送的会话标识和服务器生成的会话标识不相同时,确定第一校验结果为校验失败。

本申请实施例对会话标识进行加密,可避免伪客户端对会话标识进行恶意篡改,提高会话标识的可靠性。

在一种可能的实施例中,服务器生成第一验证码之后,可以获取第一验证码的第一验证码类型,将第一验证码类型发送给客户端,接收客户端发送的待校验的验证码类型,当待校验的验证码类型和第一验证码类型不相同时,确定第一校验结果为校验失败。

本申请实施例通过将客户端发送的待校验的验证码类型和服务器获取的第一验证码类型进行比较,可识别客户端是否为伪客户端,提高客户端识别的精确度。

进一步的,服务器获取第一验证码的第一验证码类型之后,可以对第一验证码类型进行加密,将加密后的第一验证码类型发送给客户端,客户端无法对加密后的第一验证码类型进行解密,则客户端接收到加密后的第一验证码类型之后,可以将加密后的第一验证码类型发送给服务器,服务器将客户端发送的第一验证码类型和服务器获取的第一验证码类型进行比较,当客户端发送的第一验证码类型和服务器获取的第一验证码类型不相同时,确定第一校验结果为校验失败。

本申请实施例对第一验证码类型进行加密,可避免伪客户端对第一验证码类型进行恶意篡改,提高第一验证码类型的可靠性。

s207,在第一校验结果为校验失败时,服务器基于第一验证数据生成第二验证码。

在第一校验结果为校验失败时,服务器可以基于第一验证数据判断是否再次进行验证操作,若是,则生成第二验证码;若不是,则删除该业务请求。

在一种可能的实现方式中,服务器基于第一验证数据生成第二验证码之前,还可以将会话标识发送给客户端,客户端生成待校验的会话标识,将待校验的会话标识发送给服务器,服务器可以获取会话标识所关联的各个验证数据对应的校验分值,如果各个验证数据对应的校验分值满足预设条件,则生成第二验证码。例如,会话标识所关联的各个验证数据即第一验证数据,包括验证数据1、验证数据2和验证数据3。其中验证数据1是第一次验证操作时获取到的验证数据,验证数据2是第二次验证操作时获取到的验证数据,验证数据3是第三次验证操作时获取到的验证数据。服务器可以获取验证数据1对应的校验分值,验证数据2对应的校验分值,以及验证数据3对应的校验分值,如果验证数据1对应的校验分值,验证数据2对应的校验分值,以及验证数据3对应的校验分值满足预设条件,则生成第二验证码。

在一种可能的实现方式中,针对任一验证数据,服务器可以将验证数据对应的验证码和客户端发送的待校验的验证码进行比较,得到验证码数值;通过神经网络算法对验证数据所包含的行为数据进行分析,得到客户端的行为轨迹,通过判断行为轨迹是否是用户行为轨迹,得到行为数值;将验证数据所包含的环境数据与预设数据库中的标准环境数据进行比较,得到环境数值;将验证码数值、行为数值和环境数值进行加权运算,得到验证数据对应的校验分值。

例如,服务器在进行任一次验证操作时生成的验证码和客户端在进行该次验证操作时发送的待校验的验证码相同时,验证码数值为1;验证码和待校验的验证码不相同时,验证码数值为0。又如,客户端在进行该次验证操作时的行为轨迹是用户行为轨迹时,行为数值为1;服务器可以基于鼠标指针在显示屏幕中的移动轨迹,鼠标指针在显示屏幕中的点击位置,鼠标指针在各个点击位置的点击次数或者点击时长等多个维度,得到行为数值。又如,客户端在进行该次验证操作时的环境数据与预设数据库中的标准环境数据相同时,环境数值为1;服务器可以基于运行客户端的终端参数、浏览器配置参数或者ip地址等多个维度,得到环境数值。服务器可以将验证码数值、行为数值和环境数值进行加权运算,得到验证数据对应的校验分值。

在一种可能的实现方式中,服务器可以对上述多个校验分值进行算术平均运算,得到校验均值。当校验值均值大于预设阈值时,服务器可以再次进行验证操作,即生成第二验证码;当校验均值小于等于预设阈值时,服务器可以删除业务请求。

在一种可能的实施例中,服务器可以根据第一验证码类型得到第二验证码类型,生成与第二验证码类型匹配的第二验证码。其中,第二验证码类型和第一验证码类型不相同。例如,如果服务器生成的第一验证码如图3a所示,则服务器可以确定第一验证码的第一验证码类型为滑动验证码,进而可以得到第二验证码类型为图形验证码或者字符验证码,生成的第二验证码可以如图3c所示。又如,如果服务器生成的第一验证码如图3a所示,则服务器可以确定第一验证码的第一验证码类型为行为式验证码,进而可以得到第二验证码类型为输入式验证码,生成的第二验证码可以如图3c所示。

示例性的,服务器可以获取多个验证码类型,在多个验证码类型除第一验证码类型以外的其他验证码类型中随机选取一个验证码类型,作为第二验证码类型。或者,服务器可以将多个验证码类型进行排序,将排序后的验证码类型中第一验证码类型的下一个验证码类型作为第二验证码类型。当第一验证码类型为排序后的验证码类型中的最后一个时,服务器可以将排序后的验证码类型中的第一个验证码类型作为第二验证码类型。

s208,服务器将第二验证码发送给客户端。

s209,客户端获取第二验证数据。

服务器将第二验证码发送给客户端之后,客户端可以显示第二验证码,用户可以响应第二验证码进行验证操作,即在客户端中输入待校验的验证码,客户端接收到用户点击提交按钮所输入的确认指令之后,客户端可以获取用户在进行验证操作的过程中采集到的第二验证数据以及用户输入的待校验的验证码。

s210,客户端将第二验证数据发送给服务器。

客户端可以将第二验证数据和待校验的验证码发送给服务器。

s211,服务器对第二验证数据进行分析处理,得到第二校验结果。

需要说明的是,服务器对第二验证数据进行分析处理的方式和服务器对第一验证数据进行分析处理的方式相同,具体可参见步骤s206的相关描述,本申请实施例不再赘述。

s212,在第二校验结果为校验成功时,服务器响应业务请求。

在一种可能的实现方式中,在第二校验结果为校验失败时,服务器可以基于第一验证数据和第二验证数据生成第三验证码,并将第三验证码发送给客户端,在接收到客户端发送的第三验证数据时,对第三验证数据进行分析处理,得到第三校验结果,在第三校验结果为校验成功时,响应该业务请求。

本申请实施例中,即使服务器生成的验证码和客户端发送的待校验的验证码相同,如果服务器对客户端进行验证操作的过程中的验证数据进行分析处理,确定该验证操作为可疑操作,则得到校验失败的校验结果,可提高验证判断的准确度。另外,服务器基于当前验证操作的校验结果和当前验证操作之前的所有验证操作的校验结果响应业务请求,可综合判断上述验证操作是否为可以操作,提高业务响应的可靠性。

基于图1所述的业务响应系统,请参见图4,图4是本申请实施例公开的另一种业务响应方法的流程示意图。如图4所示,该业务响应方法至少可以包括以下步骤:

s401,客户端向服务器发送业务请求。

s402,服务器生成第一验证码和第一票据信息,第一票据信息包括会话标识和第一验证码的验证码类型。

服务器接收到客户端发送的业务请求之后,可以随机生成第一验证码,或者通过预设算法生成第一验证码。服务器生成第一验证码之后,可以生成会话标识,并获取第一验证码的第一验证码类型。服务器生成包含会话标识和第一验证码类型的第一票据信息。

其中,第一验证码可以为输入式验证码或者行为式验证码,或者,也可以为滑动验证码、字符验证码或者图形验证码。

其中,会话标识用于指示业务请求所请求的业务。

在一种可能的实现方式中,服务器可以对会话标识和第一验证码类型进行加密,生成包含加密后的会话标识和第一验证码类型的第一票据信息。

s403,服务器将第一验证码和第一票据信息发送给客户端。

s404,客户端获取用户响应第一验证码输入的第一待校验的验证码。

客户端接收到第一验证码和第一票据信息之后,可以显示第一验证码,第一验证码的验证界面示意图可以如图3a所示。用户可以响应第一验证码在客户端中输入第一待校验的验证码。

s405,客户端获取用户在输入第一待校验的验证码的过程中的第一验证数据。

客户端可以获取用户在输入第一待校验的验证码的过程中采集到的第一验证数据。第一验证数据可以包括客户端的第一行为数据和第一环境数据。第一行为数据例如鼠标指针在显示屏幕中的移动轨迹,鼠标指针在显示屏幕中的点击位置,鼠标指针在各个点击位置的点击次数或者点击时长等。第一环境数据例如运行客户端的终端参数、浏览器配置参数或者ip地址等。

s406,客户端将第一验证数据、第一待校验的票据信息和第一待校验的验证码发送给服务器。

在一种可能的实现方式中,如果第一票据信息包含的是加密后的会话标识和第一验证码类型,则客户端无法对第一票据信息进行解密,也就无法知悉第一票据信息所包含的内容,客户端可以将服务器发送的第一票据信息作为第一待校验的票据信息返回给服务器,可避免伪客户端对会话标识和第一验证码类型进行恶意篡改,提高会话标识和第一验证码类型的可靠性。

s407,服务器对第一验证数据、第一待校验的票据信息和第一待校验的验证码进行分析处理,得到第一校验结果。

具体实现中,服务器可以对第一验证数据进行分析处理,当第一验证数据满足预设条件时,确定第一校验结果为校验失败。服务器还可以将客户端发送的第一待校验的票据信息和服务器生成的第一票据信息进行比较,当第一待校验的票据信息和第一票据信息不相同时,确定第一校验结果为校验失败。服务器还可以将客户端发送的第一待校验的验证码和服务器生成的第一验证码进行比较,当第一待校验的验证码和第一验证码不相同时,确定第一校验结果为校验失败。

在一种可能的实现方式中,当第一验证数据包括第一行为数据时,服务器可以通过神经网络算法对客户端的第一行为数据进行分析,得到客户端的第一行为轨迹,当识别第一行为轨迹不是用户行为轨迹时,服务器可以确定第一行为数据满足预设条件,进而确定第一校验结果为校验失败。以图3d所示的行为轨迹的界面示意图为例,如果在同一时间段内,鼠标指针在显示屏幕中由位置a移动至位置b,且由位置a移动至位置c,则服务器可以识别该行为轨迹不是用户行为轨迹,有可能是模拟器操作得到的。在另一实施例中,鼠标指针由位置a移动至位置b,鼠标指针位于10:10这一时刻在显示屏幕中的点击位置为位置a,鼠标指针位于10:11这一时刻在显示屏幕中的点击位置为位置b,而用户在实际操作中,由于由位置a移动至位置b的滑动轨迹较长,用户无法在一秒的时间段内由位置a移动至位置b,则服务器可以识别该行为轨迹不是用户行为轨迹。在另一实施例中,如果鼠标指针在预设时间段(例如一秒)内在同一点击位置的点击次数为100次,而用户在实际操作中,无法在短时间内点击这么多次,则服务器可以识别该行为轨迹不是用户行为轨迹。

在一种可能的实现方式中,当第一验证数据包括第一环境数据时,服务器可以将第一环境数据与预设数据库中的标准环境数据进行比较,当第一环境数据与标准环境数据相同时,服务器可以确定第一环境数据满足预设条件,进而确定第一校验结果为校验失败。

在一种可能的实现方式中,如果第一环境数据包括运行客户端的终端参数、浏览器配置参数或者ip地址中的至少一个,服务器可以将终端参数与预设数据库中的标准终端参数进行比较,或者将浏览器参数与预设数据库中的标准浏览器参数进行比较,或者将ip地址与预设数据库中的标准ip地址进行比较,当终端参数与标准终端参数不相同,或者浏览器参数与标准浏览器参数不相同,或者ip地址与标准ip地址不相同时,服务器可以确定第一环境数据满足预设条件,进而确定第一校验结果为校验失败。

在一种可能的实现方式中,如果第一票据信息包括加密后的会话标识和第一验证码类型,服务器接收到第一待校验的票据信息之后,可以直接将第一待校验的票据信息和第一票据信息进行比较,当第一待校验的票据信息和第一票据信息不相同时,确定第一校验结果为校验失败。或者,服务器接收到第一待校验的票据信息之后,可以对第一待校验的票据信息进行解密,并对第一票据信息进行解密,将解密后的第一待校验的票据信息和解密后的第一票据信息进行比较,当解密后的第一待校验的票据信息和解密后的第一票据信息不相同时,确定第一校验结果为校验失败。

在一种可能的实现方式中,当第一验证数据不满足预设条件,第一待校验的票据信息和第一票据信息相同,且第一待校验的验证码和第一验证码相同时,服务器可以确定第一校验结果为校验成功,进而响应业务请求。示例性的,当第一校验结果为校验成功时,服务器可以生成第一通知信息,将第一通知信息发送给客户端,客户端可以显示该第一通知信息,以提示用户校验成功,包含第一通知信息的验证界面示意图可以如图3b所示。

在一种可能的实现方式中,当第一验证数据包括第一行为数据时,服务器可以通过神经网络算法对客户端的第一行为数据进行分析,得到客户端的第一行为轨迹,当识别第一行为轨迹是用户行为轨迹时,服务器可以确定第一行为数据不满足预设条件。

在一种可能的实现方式中,当第一验证数据包括第一环境数据时,服务器可以将第一环境数据与预设数据库中的标准环境数据进行比较,当第一环境数据与标准环境数据不相同时,服务器可以确定第一环境数据不满足预设条件。

在一种可能的实现方式中,如果第一环境数据包括运行客户端的终端参数、浏览器配置参数或者ip地址中的至少一个,服务器可以将终端参数与预设数据库中的标准终端参数进行比较,将浏览器参数与预设数据库中的标准浏览器参数进行比较,以及将ip地址与预设数据库中的标准ip地址进行比较,当终端参数与标准终端参数不相同,浏览器参数与标准浏览器参数不相同,且ip地址与标准ip地址不相同时,服务器可以确定第一环境数据不满足预设条件。

s408,在第一校验结果为校验失败时,服务器生成第二验证码和第二票据信息,第二票据信息包括会话标识和第二验证码的验证码类型。

在一种可能的实现方式中,在第一校验结果为校验失败时,服务器可以在第一票据信息中获取第一验证码类型和会话标识,根据第一验证码类型得到第二验证码类型,生成包含第二验证码类型和会话标识的第二票据信息。

在一种可能的实现方式中,服务器根据第一验证码类型得到第二验证码类型之后,可以随机生成或者通过预设算法生成与第二验证码类型匹配的第二验证码。需要说明的是,服务器可以设置第二验证码类型和第一验证码类型相同,也可以设置第二验证码类型和第一验证码类型不相同,具体不受本申请实施例的限定。

在一种可能的实现方式中,服务器可以对会话标识和第二验证码类型进行加密,生成包含加密后的会话标识和第二验证码类型的第二票据信息。

s409,服务器将第二验证码和第二票据信息发送给客户端。

s410,客户端获取用户响应第二验证码输入的第二待校验的验证码。

客户端接收到第二验证码和第二票据信息之后,可以显示第二验证码,第二验证码的验证界面示意图可以如图3c所示。用户可以响应第二验证码在客户端中输入第二待校验的验证码。

s411,客户端获取用户在输入第二待校验的验证码的过程中的第二验证数据。

客户端可以获取用户在输入第二待校验的验证码的过程中采集到的第二验证数据。第二验证数据可以包括客户端的第二行为数据和第二环境数据。第二行为数据例如鼠标指针在显示屏幕中的移动轨迹,鼠标指针在显示屏幕中的点击位置,鼠标指针在各个点击位置的点击次数或者点击时长等。第二环境数据例如运行客户端的终端参数、浏览器配置参数或者ip地址等。

s412,客户端将第二验证数据、第二待校验的票据信息和第二待校验的验证码发送给服务器。

在一种可能的实现方式中,如果第二票据信息包含的是加密后的会话标识和第二验证码类型,则客户端无法对第二票据信息进行解密,也就无法知悉第二票据信息所包含的内容,客户端可以将服务器发送的第二票据信息作为第二待校验的票据信息返回给服务器,可避免伪客户端对会话标识和第二验证码类型进行恶意篡改,提高会话标识和第二验证码类型的可靠性。

s413,服务器对第二验证数据、第二票据信息和第二待校验的验证码进行分析处理,得到第二校验结果。

具体实现中,服务器可以对第二验证数据进行分析处理,当第二验证数据满足预设条件时,确定第二校验结果为校验失败。服务器还可以将客户端发送的第二待校验的票据信息和服务器生成的第二票据信息进行比较,当第二待校验的票据信息和第二票据信息不相同时,确定第二校验结果为校验失败。服务器还可以将客户端发送的第二待校验的验证码和服务器生成的第二验证码进行比较,当第二待校验的验证码和第二验证码不相同时,确定第一校验结果为校验失败。

需要说明的是,本申请实施例对第二验证数据进行分析处理的方式具体可参见对第一验证数据进行分析处理的方式,本申请实施例不再赘述。

在一种可能的实现方式中,如果第二票据信息包括加密后的会话标识和第二验证码类型,服务器接收到第二待校验的票据信息之后,可以直接将第二待校验的票据信息和第二票据信息进行比较,当第二待校验的票据信息和第二票据信息不相同时,确定第二校验结果为校验失败。或者,服务器接收到第二待校验的票据信息之后,可以对第二待校验的票据信息进行解密,并对第二票据信息进行解密,将解密后的第二待校验的票据信息和解密后的第二票据信息进行比较,当解密后的第二待校验的票据信息和解密后的第二票据信息不相同时,确定第二校验结果为校验失败。

在一种可能的实现方式中,当第二验证数据不满足预设条件,第二待校验的票据信息和第二票据信息相同,且第二待校验的验证码和第二验证码相同时,服务器可以确定第二校验结果为校验成功,进而响应业务请求。示例性的,当第二校验结果为校验成功时,服务器可以生成第二通知信息,将第二通知信息发送给客户端,客户端可以显示该第二通知信息,以提示用户校验成功,包含第二通知信息的验证界面示意图可以如图3d所示。

s414,服务器基于第一验证数据和第二验证数据,响应业务请求。

具体实现中,如果第二校验结果为校验失败时,服务器可以获取该会话标识所关联的第一验证数据对应的校验分值,以及第二验证数据对应的校验分值,对上述多个校验分值进行算术平均运算,得到校验均值。当校验值均值大于预设阈值时,服务器可以进行第三次验证操作,得到第三校验结果,当第三校验结果为校验成功时,服务器可以响应业务请求;当第三校验结果为校验失败时,服务器可以获取该会话标识所关联的第一验证数据对应的校验分值,第二验证数据对应的校验分值以及第三验证数据对应的校验分值,对上述多个校验分值进行算术平均运算,得到校验均值,当校验值均值大于预设阈值时,服务器可以进行第四次验证操作。当校验均值小于等于预设阈值时,服务器可以删除业务请求。

在一种可能的实现方式中,服务器可以将验证码和待校验的验证码进行比较,得到验证码数值。通过神经网络算法对验证数据进行分析,得到客户端的行为轨迹,通过判断行为轨迹是否为用户行为轨迹,得到行为数值。将环境数据与预设数据库中的标准环境数据进行比较,得到环境数值。将验证码数值、行为数值和环境数值进行加权运算,得到第二校验结果的校验分值。

在一种可能的实现方式中,服务器可以通过会话标识获取前n-1次的验证数据、待校验的验证码和待校验的票据信息,综合判断是否还需要进行第n次验证操作,例如根据前n-1次的验证数据、待校验的验证码和待校验的票据信息得到的评价值大于预设门限时,服务器可以进行第n次验证操作;反之,则删除响应请求。其中,n为自然数,n>2。示例性的,评价值的获取方式可以如下公式所示:

r(n)=f(d(1),d(2),...,d(n-1))

其中,r(n)表示评价值,f表示通过前n-1次的校验分值综合判断的函数关系式,d(n-1)表示第n-1次的校验分值。

本申请实施例中,客户端向服务器发送业务请求时,服务器生成并发送第一验证码和第一票据信息给客户端,服务器对客户端发送的第一票据信息和第一验证码进行分析处理,得到第一校验结果,在第一校验结果为校验失败时,服务器生成并发送第二验证码和第二票据信息给客户端,服务器对客户端发送的第二票据信息和第二验证码进行分析处理,得到第二校验结果,服务器基于第一验证数据和第二验证数据,响应业务请求,可提高验证判断的准确度,并提高业务响应的可靠性。

请参见图5,图5是本发明实施例中提供的一种服务器的结构示意图,本发明实施例中的服务器可执行图2、4所示的业务响应方法,如图所示本发明实施例中的服务器至少可以包括接收单元501、处理单元502和发送单元503,其中:

在接收单元501接收到客户端发送的业务请求时,处理单元502生成第一验证码,发送单元503将所述第一验证码发送给所述客户端;

在接收单元501接收到所述客户端发送的第一验证数据时,处理单元502对所述第一验证数据进行分析处理,得到第一校验结果;

在所述第一校验结果为校验失败时,处理单元502基于第一验证数据生成第二验证码,发送单元503将所述第二验证码发送给所述客户端;

在接收单元501接收到所述客户端发送的第二验证数据时,处理单元502对所述第二验证数据进行分析处理,得到第二校验结果;

在所述第二校验结果为校验成功时,处理单元502响应所述业务请求。

在一种可能的实现方式中,处理单元502在对所述第二验证数据进行分析处理,得到第二校验结果之后,在所述第二校验结果为校验失败时,基于所述第一验证数据和所述第二验证数据生成第三验证码;

发送单元503将所述第三验证码发送给所述客户端;

在接收单元501接收到所述客户端发送的第三验证数据时,处理单元502对所述第三验证数据进行分析处理,得到第三校验结果;

在所述第三校验结果为校验成功时,处理单元502响应所述业务请求。

在一种可能的实现方式中,所述第一验证数据包括所述客户端的第一行为数据和第一环境数据;

所述处理单元502对所述第一验证数据进行分析处理,得到第一校验结果,包括:

通过神经网络算法对所述客户端的第一行为数据进行分析,得到所述客户端的第一行为轨迹,当识别所述第一行为轨迹不是用户行为轨迹时,确定所述第一校验结果为校验失败;或者

将所述第一环境数据与预设数据库中的标准环境数据进行比较,当所述第一环境数据与所述标准环境数据不相同时,确定所述第一校验结果为校验失败。

在一种可能的实现方式中,所述第一环境数据包括运行所述客户端的终端参数、浏览器配置参数或者网络之间互连的协议ip地址中的至少一个;

所述处理单元502将所述环境数据与预设数据库中的标准环境数据进行比较,包括:

将所述终端参数与所述预设数据库中的标准终端参数进行比较,或者将所述浏览器参数与所述预设数据库中的标准浏览器参数进行比较,或者将所述ip地址与所述预设数据库中的标准ip地址进行比较;

所述当所述环境数据与所述标准环境数据不相同时,处理单元502确定所述第一校验结果为校验失败,包括:

当所述终端参数与所述标准终端参数不相同,或者所述浏览器参数与所述标准浏览器参数不相同,或者所述ip地址与所述标准ip地址不相同时,确定所述第一校验结果为校验失败。

在一种可能的实现方式中,在接收单元501接收到所述客户端发送的业务请求时,处理单元502还可以生成会话标识,所述会话标识用于指示所述业务请求所请求的业务;

在任一次传输验证码的过程中,发送单元503将所述会话标识发送给所述客户端;

接收单元501接收所述客户端发送的待校验的会话标识;

当所述待校验的会话标识和所述会话标识不相同时,处理单元502确定所述第一校验结果为校验失败。

在一种可能的实现方式中,处理单元502基于所述第一验证数据生成第二验证码,包括:

获取所述会话标识所关联的各个验证数据对应的校验分值;

如果所述各个验证数据对应的校验分值满足预设条件,则生成所述第二验证码。

在一种可能的实现方式中,所述处理单元502获取所述会话标识所关联的各个验证数据对应的校验分值,包括:

针对任一验证数据,将所述验证数据对应的验证码和客户端发送的待校验的验证码进行比较,得到验证码数值;

通过神经网络算法对所述验证数据所包含的行为数据进行分析,得到所述客户端的行为轨迹,通过判断所述行为轨迹是否为用户行为轨迹,得到行为数值;

将所述验证数据所包含的环境数据与预设数据库中的标准环境数据进行比较,得到环境数值;

将所述验证码数值、行为数值和环境数值进行加权运算,得到所述第二校验结果的校验分值。

在一种可能的实现方式中,所述处理单元502获取所述会话标识所关联的各个验证数据对应的校验分值之后,还包括:

如果所述各个验证数据对应的校验分值不满足所述预设条件,则删除所述业务请求。

在一种可能的实现方式中,所述处理单元502生成第一验证码之后,还包括:

处理单元502获取所述第一验证码的第一验证码类型;

发送单元503将所述第一验证码类型发送给所述客户端;

接收单元501接收所述客户端发送的待校验的验证码类型;

当所述待校验的验证码类型和所述第一验证码类型不相同时,处理单元502确定所述第一校验结果为校验失败。

在一种可能的实现方式中,所述处理单元502基于所述第一验证数据生成第二验证码,包括:

根据所述第一验证码类型得到第二验证码类型,所述第二验证码类型和所述第一验证码类型不相同;

基于所述第一验证数据生成与所述第二验证码类型匹配的第二验证码。

本发明实施例中,在接收单元501接收到客户端发送的业务请求时,处理单元502生成第一验证码,发送单元503将所述第一验证码发送给所述客户端;在接收单元501接收到所述客户端发送的第一验证数据时,处理单元502对所述第一验证数据进行分析处理,得到第一校验结果;在所述第一校验结果为校验失败时,处理单元502生成第二验证码,发送单元503将所述第二验证码发送给所述客户端;在接收单元501接收到所述客户端发送的待校验的验证码和第二验证数据时,处理单元502对所述第二验证数据进行分析处理,得到第二校验结果,在第二校验结果为校验成功时,处理单元502响应所述业务请求,可提高验证判断的准确度,并提高业务响应的可靠性。

请参见图6,图6为本发明实施例提供的另一种服务器的结构示意图,本发明实施例提供的服务器可以用于实施上述图2、4所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2、4所示的本发明实施例。

如图6所示,该服务器包括:至少一个处理器601,例如cpu,至少一个输入装置603,至少一个输出装置604,存储器605,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,输入装置603具体可以为网络接口,用于与客户端进行交互。其中,输出装置604具体可以为网络接口,用于与客户端进行交互。其中,存储器605可能包含高速ram存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储验证码以及验证数据。存储器605可选的可以包含至少一个位于远离前述处理器601的存储装置。存储器605中存储一组程序代码,且处理器601、输入装置603以及输出装置604调用存储器605中存储的程序代码,用于执行以下操作:

在输入装置603接收到客户端发送的业务请求时,处理器601生成第一验证码,输出装置604将所述第一验证码发送给所述客户端;

在输入装置603接收到所述客户端发送的第一验证数据时,处理器601对所述第一验证数据进行分析处理,得到第一校验结果;

在所述第一校验结果为校验失败时,处理器601基于第一验证数据生成第二验证码,输出装置604将所述第二验证码发送给所述客户端;

在输入装置603接收所述客户端发送的第二验证数据时,处理器601对所述第二验证数据进行分析处理,得到第二校验结果;

在所述第二校验结果为校验成功时,处理器601响应所述业务请求。

在一种可能的实现方式中,处理器601在对所述第二验证数据进行分析处理,得到第二校验结果之后,在所述第二校验结果为校验失败时,基于所述第一验证数据和所述第二验证数据生成第三验证码;

输出装置604将所述第三验证码发送给所述客户端;

在输入装置603接收到所述客户端发送的第三验证数据时,处理器601对所述第三验证数据进行分析处理,得到第三校验结果;

在所述第三校验结果为校验成功时,处理器601响应所述业务请求。

在一种可能的实现方式中,所述第一验证数据包括所述客户端的第一行为数据和第一环境数据;

所述处理器601对所述第一验证数据进行分析处理,得到第一校验结果,具体可以为:

通过神经网络算法对所述客户端的第一行为数据进行分析,得到所述客户端的第一行为轨迹,当识别所述第一行为轨迹不是用户行为轨迹时,确定所述第一校验结果为校验失败;或者

将所述第一环境数据与预设数据库中的标准环境数据进行比较,当所述第一环境数据与所述标准环境数据不相同时,确定所述第一校验结果为校验失败。

在一种可能的实现方式中,所述第一环境数据包括运行所述客户端的终端参数、浏览器配置参数或者网络之间互连的协议ip地址中的至少一个;

所述处理器601将所述环境数据与预设数据库中的标准环境数据进行比较,具体可以为:

将所述终端参数与所述预设数据库中的标准终端参数进行比较,或者将所述浏览器参数与所述预设数据库中的标准浏览器参数进行比较,或者将所述ip地址与所述预设数据库中的标准ip地址进行比较;

所述当所述环境数据与所述标准环境数据不相同时,处理器601确定所述第一校验结果为校验失败,具体可以为:

当所述终端参数与所述标准终端参数不相同,或者所述浏览器参数与所述标准浏览器参数不相同,或者所述ip地址与所述标准ip地址不相同时,确定所述第一校验结果为校验失败。

在一种可能的实现方式中,还可以执行以下操作:

在接收到所述客户端发送的业务请求时,所述处理器601生成会话标识,所述会话标识用于指示所述业务请求所请求的业务;

在任一次传输验证码的过程中,输出装置604将所述会话标识发送给所述客户端;

输入装置603接收所述客户端发送的待校验的会话标识;

当所述待校验的会话标识和所述会话标识不相同时,处理器601确定所述第一校验结果为校验失败。

在一种可能的实现方式中,处理器601基于所述第一验证数据生成第二验证码,包括:

获取所述会话标识所关联的各个验证数据对应的校验分值;

如果所述各个验证数据对应的校验分值满足预设条件,则生成所述第二验证码。

在一种可能的实现方式中,所述处理器601获取所述会话标识所关联的各个校验数据对应的校验分值,包括:

针对任一验证数据,将所述验证数据对应的验证码和所述客户端发送的待校验的验证码进行比较,得到验证码数值;

通过神经网络算法对所述验证数据所包含的行为数据进行分析,得到所述客户端的行为轨迹,通过判断所述行为轨迹是否为用户行为轨迹,得到行为数值;

将所述验证数据所包含的环境数据与预设数据库中的标准环境数据进行比较,得到环境数值;

将所述验证码数值、行为数值和环境数值进行加权运算,得到所述第二校验结果的校验分值。

在一种可能的实现方式中,所述处理器601获取所述会话标识所关联的各个验证数据对应的校验分值之后,还可以执行以下操作:

如果所述各个验证数据对应的校验分值不满足所述预设条件,则删除所述业务请求。

在一种可能的实现方式中,所述处理器601生成第一验证码之后,还可以执行以下操作:

获取所述第一验证码的第一验证码类型;

将所述第一验证码类型发送给所述客户端;

接收所述客户端发送的待校验的验证码类型;

当所述待校验的验证码类型和所述第一验证码类型不相同时,确定所述第一校验结果为校验失败。

在一种可能的实现方式中,所述处理器601基于所述第一验证数据生成第二验证码,具体可以为:

根据所述第一验证码类型得到第二验证码类型,所述第二验证码类型和所述第一验证码类型不相同;

基于所述第一验证数据生成与所述第二验证码类型匹配的第二验证码。

具体的,本发明实施例中介绍的服务器可以用以实施本发明结合图2、4介绍的方法实施例中的部分或全部流程。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1