验证请求处理方法和系统与流程

文档序号:17070396发布日期:2019-03-08 23:16阅读:262来源:国知局
验证请求处理方法和系统与流程

本发明涉及验证领域,特别涉及验证请求处理方法和系统。



背景技术:

人机识别方法是为了识别出请求的是人在操作还是程序在操作而提出的,考虑到安全性,与资源相关的请求均会采用人机识别方法。

目前普遍采用的人机识别方式有:图片验证码、滑动拼图、图中选点等等,其中实现最方便、成本最低,最为人们所接受的莫过于图片验证码。但是目前的图片识别算法越来越智能和完善,导致图片验证码的人机识别方式受到了挑战,互联网上有文章说到对验证码数据进行训练,算法即可在短时间之后自动识别出图片中的验证码,导致无法准确将人和程序相区分,此外,当用户看不清图片点击刷新时或者验证不通过时,需要重新加载图片,会给网络流量增加。

因此,准确地识别出请求方是人类还是程序,是本领域亟待解决的问题。



技术实现要素:

本发明提供了一种验证请求处理方法和系统,用于方便维修人员快速确定电器故障。

为了解决上述问题,作为本发明的一个方面,提供了一种验证请求处理方法,包括:

接收验证请求;

获取并返回验证码图片以及验证码图片对应的第一验证语句,其中,验证码图片中具有至少一个图片参数,第一验证语句是对至少一个图片参数进行运算的语句;

接收反馈结果,并将反馈结果与预设结果相比较;

若反馈结果与预设结果相同,则验证成功;

若反馈结果与预设结果不同,则验证失败;

其中,预设结果为按照第一验证语句对图片参数进行运算的得到的第一运算结果。

可选的,在验证失败后,还包括:用验证码图片对应的第二验证语句替换第一验证语句;

按照第二验证语句对图片参数进行运算得到第二运算结果;

用第二运算结果作为预设结果;

其中,第二验证语句与第一验证语句不同。

可选的,获取验证码图片以及验证码图片对应的第一验证语句,包括:

确定参数数量m,根据参数数量m获取第一验证语句,其中,第一验证语句是对m个图片参数进行运算的语句;

为m个图形参数设定参数值;

根据m个图片参数生成验证码图片,其中,验证码图片具有m个图片参数。

可选的,根据m个图片参数值生成验证码图片,包括:

根据m个图片参数生成m张备选图片,其中,任一备选图片具有一个图片参数;

将m张备选图片合并成为验证码图片。

可选的,图片参数包括文字参数、数字参数和/或图像参数。

本申请还提出一种验证请求处理系统,包括:

接收单元,用于接收验证请求;

处理单元,用于获取并返回验证码图片以及验证码图片对应的第一验证语句,其中,验证码图片中具有至少一个图片参数,第一验证语句是对至少一个图片参数进行运算的语句;

验证单元,用于接收反馈结果,并将反馈结果与预设结果相比较;

若反馈结果与预设结果相同,则验证成功;

若反馈结果与预设结果不同,则验证失败;

其中,预设结果为按照第一验证语句对图片参数进行运算的得到的第一运算结果。

可选的,验证单元还用于,在验证失败后用验证码图片对应的第二验证语句替换第一验证语句;

按照第二验证语句对图片参数进行运算得到第二运算结果;

用第二运算结果作为预设结果;

其中,第二验证语句与第一验证语句不同。

可选的,处理单元获取验证码图片以及验证码图片对应的第一验证语句,包括:

确定参数数量m,根据参数数量m获取第一验证语句,其中,第一验证语句是对m个图片参数进行运算的语句;

为m个图形参数设定参数值;

根据m个图片参数生成验证码图片,其中,验证码图片具有m个图片参数。

可选的,处理单元根据m个图片参数值生成验证码图片,包括:

根据m个图片参数生成m张备选图片,其中,任一备选图片具有一个图片参数;

将m张备选图片合并成为验证码图片。

可选的,图片参数包括文字参数、数字参数和/或图像参数。

本发明提出了一种验证请求处理方法和系统,采用第一验证语句与验证码图片相结合的方式进行验证,从而降低被程序算法破解识别验证码的概率,使得人机识别能有效的识别出请求方是人类还是程序,再者可以在验证失败时无需重新加载图片,减少带宽占用。

附图说明

图1为本发明实施例中一种验证请求处理方法的流程图;

图2为本发明实施例中一种验证请求处理系统的组成图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或电器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或电器固有的其它步骤或单元。

在现有技术中,为了防止有人用软件程序恶意访问和获取资源,通常要对访问方进行人机验证,以确保访问请求是用户发出的而非计算机程序自动发出的,因此本申请提出了一种验证请求处理方法,如图1所示,包括:

s11:接收验证请求。

具体的,本申请提出的方法可以用于网站或手机app进行验证码验证,网站的前端页面或者是app的输入端口接收验证请求,在接收到请求后向后端服务器请求进行验证。

s12:获取并返回验证码图片以及所述验证码图片对应的第一验证语句。

具体的,在接收到验证请求后,需要对请求进行处理,先获取验证码图片和验证码图片对应的第一验证语句,所述验证码图片中具有至少一个图片参数,图片参数包括参数类别和参数值,例如参数类别可以为数字、人物、字母、动物,参数值就是具体的数字大小、人的数量、具体字母、动物个数,比如验证码图片中包括三个人,则该验证码图片对应的参数类别为人,参数值为3,由比如验证码图片中有数字233,则参数类别为数字,参数值为:233,又比如验证码图片中有字母abc,则参数类别为字母,参数值为:abc,或者验证码图片中有三辆车,则参数类别为车,参数值为:3;需要注意的是,一个验证码图片可以对应多个图片参数,例如验证码图片中有3个男人,4个女人共有7个人,则参数类别包括男人、女人和人,对应的参数值分别为3、4和7,所述第一验证语句是对至少一个所述图片参数进行运算的语句;比如图片验证码中有数字23,第一验证语句可以是:请输入图中两个数字之和,或者请输入图中两个数字的乘积。由比如验证码图片中有3个男人7个女人,则参数类别包括男人、女人、人,对应的参数值是3、7和10,对应的第一验证语句可以是:请输入图中女人人数和男人人数的差值。当然第一验证语音还可以是:请输入图中男人的人数,此时第一验证语音相当于求取男人人数的一次方。第一验证语音还可以是请输入男人人数的平方,此时第一验证语音相当于求取男人人数的平方。需要注意的是,图片具有图片参数的意思是指图片上显示有该图片参数或者图片上通过图形表示有该参数,例如图片参数为数字3,则可以直接在图片上显示数字3,或是在图片上显示3个人,此时人的个数为3,又或者图片上显示有“1+2的和”这种间接的展示数字3的方式,即图片可以用直接或间接的形式展示数字3。

s13:接收反馈结果,并将所述反馈结果与预设结果相比较;

具体的,所述预设结果为按照所述第一验证语句对所述图片参数进行运算的得到的第一运算结果。若所述反馈结果与预设结果相同,则验证成功,认为现在发起请求的请求方是人而不是计算机程序,若所述反馈结果与预设结果不同,则验证失败;可选的,本申请提出的方法因为可以用于网站和手机app,为了减少对网络的压力,减少网站和app与后台服务器的压力,可以在返回验证码图片和第一验证语句时一并反馈预设结果,但并不展示预设结果,由网站前端和手机app根据反馈结果与预设结果相比较,从而无需与服务器交互。反馈结果是输入在验证码输入框内的输入值。本申请提出的方法中,验证码图片需要结合第一验证语句的语义才能得到正确的结果,因此可以组织计算机程序自动破解验证码,提高人机识别的准确率。

可选的,在验证失败后,还包括:用所述验证码图片对应的第二验证语句替换所述第一验证语句;

按照所述第二验证语句对所述图片参数进行运算得到第二运算结果;

用所述第二运算结果作为所述预设结果;

具体的,任一验证码图片可以对应多个验证语句,在验证失败或者接收到跟换验证语句请求时需要更换第一验证语句,而此时并不更换验证码图片,因此只需加载较少的数据量,从而减少了网络流量,降低了对带宽的要求,现有技术中更换验证码往往需要重新加载验证码图片,造成网络压力较大,而本申请中只需要加载验证语句,既能为用户节省流量,又降低了服务器负载,本申请中所述第二验证语句与所述第一验证语句不同,例如验证码图片上有3个男人2个女人,第一验证语句原本为:请输入验证码图片上的男人个数和女人个数的和,如果用户输入的结果不是5,则更改第一验证语句,例如可以更改为:请输入验证码图片中男人和女人的个数差。在不更改验证码图的情况下,一般而言计算机程序会认为验证码的正确答案没有改变,而实际上本申请的预设结果已经发生了改变,从而进一步防止验证码图片被破解,特别是,当第一次程序如果自动输入的答案与根据第二运算结果得到的预设结果相同时,因为程序已经知道第一次输入的答案不对,则其不会输入该答案,特别的,当用户输入的反馈结果连续错误3次后,获取其中一次的反馈结果作为目标结果,根据该目标结果生成第二验证语句,用以替代第一验证语句并对应更改预设结果,因为在验证码图片不变的情况下计算机程序不会用重复的答案,所以计算机程序无法破解该验证码图片。

优选地,获取验证码图片以及所述验证码图片对应的第一验证语句,包括:

确定参数数量m,根据所述参数数量m获取第一验证语句,

为所述m个图形参数设定参数值;

根据所述m个图片参数生成验证码图片。

具体的,参数数量m可以是随机的一个数值,可选的该数值不大于3且不小于1,以防止参数数量太多造成验证语句过于复杂,在确定了参数数量后,获取第一验证语句,其中,所述第一验证语句是对m个图片参数进行运算的语句,这里需要注意的是图片参数包括参数类别和参数值,为了保证第一验证语句符合语法,m个图形参数的参数类别相同或者属于同一大类,例如参数数量为2,则2个图形参数的参数类别可以同时为数字,此时为同一参数类别,或者参数类别可以分别是男人和女人,此时其属于同一大类,从而保证第一验证语音符合语法能够对m个图形参数进行处理,再根据第一验证语句生成验证码图片,其中,所述验证码图片具有所述m个图片参数,例如确定了参数数量为2,2个图形参数分别为两个数字,则生成的验证码图片中应当包括这两个数字,或者,图形参数为人物,具体的参数类别为男人和女人,对应的参数值为3和4,则验证码图片中应当包括3个男人和4个女人。本实施例是先获取第一验证语句再自动生成验证码图片,从而无需预先存储大量的验证码图片,节省了存储空间,当然,也可以预先为各个验证码图片设置对应的验证语句,这样需要占用一定的存储空间,但可以提高加载效率,直接获取验证码图片和验证语句,加快加载速度。

可选的,根据所述m个图片参数值生成验证码图片,包括:

根据所述m个图片参数生成m张备选图片,其中,任一所述备选图片具有一个所述图片参数;

将所述m张备选图片合并成为所述验证码图片。

具体的,本实施例中的验证码图片为多个备选图片所合成的,例如2个图片参数的参数类别为数字,参数值分别为2和3,则可以先生成一张备选图片,该备选图片中可以显示2,再生成另一张备选图片并显示3,然后将两张图片合成,或者,2个图片参数的参数类别为男人和女人,对应的参数值分别为1和3,则可以分别生成两张备选图片,备选图片中分别显示1个男人和3个女人。

可选的,在本申请中所述图片参数包括文字参数、数字参数和/或图像参数。例如当图片参数为数字时,可以用罗马数字、阿拉伯数字或中文大写的方式显示数字3,当图片参数的参数类别为人,参数值为3时,而已用中文文字显示三个人字,也可以用图形画三个人。从而进一步防止计算机程序对验证码图片进行识别,提高人机识别的准确度。

本申请还提出一种验证请求处理系统,如图2所示,包括:接收单元10、处理单元20和验证单元30。

接收单元10,用于接收验证请求。具体的,本申请提出的装置可以用于网站或手机app进行验证码验证,接收单元10可以是网站的前端页面或者是app的输入端口,在接收到请求后向后端服务器请求进行验证。

处理单元20,用于获取并返回验证码图片以及所述验证码图片对应的第一验证语句,其中,所述验证码图片中具有至少一个图片参数,所述第一验证语句是对至少一个所述图片参数进行运算的语句;

具体的,在接收单元10接收到验证请求后,处理单元20对请求进行处理,先获取验证码图片和验证码图片对应的第一验证语句,所述验证码图片中具有至少一个图片参数,图片参数包括参数类别和参数值,例如参数类别可以为数字、人物、字母、动物,参数值就是具体的数字大小、人的数量、具体字母、动物个数,由人工选择互联网上的图片,然后根据图片生成一系列对应的语句和答案的组合,例如现在有一张验证码图片上显示有10个人,分别为3个男人和7个女人,第一验证语音可以是“请输入图中的男人数量”,或者“请输入图中的女人数量”,或者“请输入图中的戴眼镜的人数”。

验证单元30,用于接收反馈结果,并将所述反馈结果与预设结果相比较;

若所述反馈结果与预设结果相同,则验证成功;

若所述反馈结果与预设结果不同,则验证失败;

具体的,所述预设结果为按照所述第一验证语句对所述图片参数进行运算的得到的第一运算结果。若所述反馈结果与预设结果相同,则验证成功,认为现在发起请求的请求方是人而不是计算机程序,若所述反馈结果与预设结果不同,则验证失败;可选的,本申请提出的装置因为可以用于网站和手机app,为了减少对网络的压力,减少网站和app与后台服务器的压力,可以在返回验证码图片和第一验证语句时一并反馈预设结果,但并不展示预设结果,由网站前端和手机app根据反馈结果与预设结果相比较,从而无需与服务器交互。反馈结果是输入在验证码输入框内的输入值。

可选的,所述验证单元30还用于,在验证失败后用所述验证码图片对应的第二验证语句替换所述第一验证语句;

按照所述第二验证语句对所述图片参数进行运算得到第二运算结果;

用所述第二运算结果作为所述预设结果。

具体的,任一验证码图片可以对应多个验证语句,在验证失败或者接收单元10接收到跟换验证语句请求时需要更换第一验证语句,而此时并不更换验证码图片,因此只需加载较少的数据量,从而减少了网络流量,降低了对带宽的要求,现有技术中更换验证码往往需要重新加载验证码图片,造成网络压力较大,而本申请中只需要加载验证语句,既能为用户节省流量,又降低了服务器负载,本申请中所述第二验证语句与所述第一验证语句不同。

可选的,所述处理单元20获取验证码图片以及所述验证码图片对应的第一验证语句,包括:

确定参数数量m,根据所述参数数量m获取第一验证语句;

为所述m个图形参数设定参数值;

根据所述m个图片参数生成验证码图片。

具体的,参数数量m可以是处理单元20采用随机函数从而随机的一个数值,可选的该数值不大于3且不小于1,以防止参数数量太多造成验证语句过于复杂,在确定了参数数量后,获取第一验证语句,其中,所述第一验证语句是对m个图片参数进行运算的语句,这里需要注意的是图片参数包括参数类别和参数值,为了保证第一验证语句符合语法,m个图形参数的参数类别相同或者属于同一大类,例如参数数量为2,则2个图形参数的参数类别可以同时为数字,此时为同一参数类别,或者参数类别可以分别是男人和女人,此时其属于同一大类,从而保证第一验证语音符合语法能够对m个图形参数进行处理,再根据第一验证语句生成验证码图片,其中,所述验证码图片具有所述m个图片参数,例如确定了参数数量为2,2个图形参数分别为两个数字,则生成的验证码图片中应当包括这两个数字,或者,图形参数为人物,具体的参数类别为男人和女人,对应的参数值为3和4,则验证码图片中应当包括3个男人和4个女人。本实施例是先获取第一验证语句再自动生成验证码图片,从而无需预先存储大量的验证码图片,节省了存储空间,当然,也可以预先为各个验证码图片设置对应的验证语句,这样需要占用一定的存储空间,但可以提高加载效率,直接获取验证码图片和验证语句,加快加载速度。

可选的,所述处理单元根据所述m个图片参数值生成验证码图片,包括:

根据所述m个图片参数生成m张备选图片,其中,任一所述备选图片具有一个所述图片参数;

将所述m张备选图片合并成为所述验证码图片。

具体的,本实施例中的验证码图片为多个备选图片所合成的,例如2个图片参数的参数类别为数字,参数值分别为2和3,则可以先生成一张备选图片,该备选图片中可以显示2,再生成另一张备选图片并显示3,然后将两张图片合成,或者,2个图片参数的参数类别为男人和女人,对应的参数值分别为1和3,则可以分别生成两张备选图片,备选图片中分别显示1个男人和3个女人。可选的,所述图片参数包括文字参数、数字参数和/或图像参数。

为了更好的说明本申请的有益效果,以下提出另一优选实施例。

本申请提出的系统可以是服务器交互系统,当服务端接收到验求时,服务器会要求请求方先通过人机识别验证。服务器预设一系列的验证语句和对应的程序函数,该程序函数是根据语句预编码生成的计算机代码,程序函数需要有输入值,在确定了程序函数输入值后得到的程序函数的返回值为预设值,例如验证语句为“将图中的两个数字相加”,则对应的程序函数是一个拥有两个输入参数的函数,函数的返回结果等于两个之和。服务端根据设定的参数数量随机选择预设中的一个验证语句和对应的程序函数,先随机生成输入参数,然后根据各个输入参数生成对应的备选图片,备选图片具有的图片参数与输入参数一一对应,由程序函数根据输入参数得到预设结果,最终用户看到的验证码图片由备选图片一起合并形成的。

服务器将验证码图片和对应的验证语句返回,返回的验证语句为第一验证语句,再接收反馈结果和预设结果相对比,当验证失败时,服务器再重新选择一组验证语句(第二验证语句)和程序函数,并根据之前的输入参数再次进行计算,得到新的预设结果,即验证失败后需要重新验证时复用验证码图片,并不需要重新加载新的验证码图片,只需加载新的验证语句,从而减少网络流量。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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