验证方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种验证方法及装置。
背景技术
当前,为了保障用户的财产不受损失,当用户执行修改账户密码、网络购物或网络转账等与用户的财产安全息息相关的敏感操作时,服务器就会对用户的身份进行验证,以确保该操作为用户本人执行的操作,这样,用户才能成功实现修改账户密码、网络购物或网络转账等目的。其中,目前常用的验证方式为短信验证。
其中,有时候用户可能会短时间内连续执行多次与用户的财产安全息息相关的敏感操作,由于每执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,因此整个过程中服务器会利用短信验证对用户的身份进行多次验证。例如用户先修改账户密码,修改完毕后立即进行网络支付;其中,当用户执行修改账户密码的操作时,服务器会利用短信验证对用户的身份进行验证,当用户执行网络支付的操作时,服务器会再次利用短信验证对用户的身份进行验证。
发明内容
为克服相关技术中存在的问题,本发明提供一种验证方法及装置。
根据本发明实施例的第一方面,提供一种验证方法,所述方法包括:
当需要对用户进行验证时,获取本地的当前时刻;
获取在所述当前时刻之前的预设时长内所述用户未通过的验证方式;
利用所述未通过的验证方式对所述用户进行验证。
其中,所述获取在所述当前时刻之前的预设时长内所述用户未通过的验证方式,包括:
获取验证方式列表;所述验证方式列表中的每一行均包括至少一个验证方式;
从所述验证方式列表中去除在所述当前时刻之前的预设时长内所述用户通过的验证方式;
获取所述去除后的验证方式列表中的其中一行中的验证方式。
其中,所述从所述验证方式列表中去除在所述当前时刻之前的预设时长内所述用户通过的验证方式,包括:
获取本地存储的验证方式与通过时刻之间的对应关系;
在所述对应关系中查找与所述当前时刻之间的距离小于预设时长的通过时刻对应的验证方式;
从所述验证方式列表中删除所述查找到的验证方式。
进一步地,所述方法还包括:
当所述用户通过所述未通过的验证方式时,获取本地的当前时刻并确定为所述用户通过所述未通过的验证方式时的通过时刻;
在所述对应关系中,利用所述确定的通过时刻替换与所述未通过的验证方式对应的通过时刻。
进一步地,所述从所述验证方式列表中去除在所述当前时刻之前的预设时长内所述用户通过的验证方式之后,还包括:
判断所述去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
当所述去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,确定所述用户通过本次验证;
当所述去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行所述获取所述去除后的验证方式列表中的其中一行中的验证方式的步骤。
根据本发明实施例的第二方面,提供一种验证方法,所述方法包括:
当需要对用户进行验证时,获取本地的当前时刻;
获取在所述当前时刻之前的预设时长内,对所述用户进行验证时未利用过的验证方式;
利用所述未利用过的验证方式对所述用户进行验证。
其中,所述获取在所述当前时刻之前的预设时长内,对所述用户进行验证时未利用过的验证方式,包括:
获取验证方式列表;所述验证方式列表中的每一行均包括至少一个验证方式;
从所述验证方式列表中去除在所述当前时刻之前的预设时长内,对所述用户进行验证时利用过的验证方式;
获取所述去除后的验证方式列表中的其中一行中的验证方式。
其中,所述从所述验证方式列表中去除在所述当前时刻之前的预设时长内,对所述用户进行验证时利用过的验证方式,包括:
获取本地存储的验证方式与验证时刻之间的对应关系;
在所述对应关系中查找与所述当前时刻之间的距离小于预设时长的验证时刻对应的验证方式;
从所述验证方式列表中删除所述查找到的验证方式。
进一步地,所述方法还包括:
当利用所述未通过的验证方式对所述用户进行验证时,获取本地的当前时刻并确定为利用所述未利用过的验证方式对用户进行验证时验证时刻;
在所述对应关系中,利用所述确定出的验证时刻替换与所述未利用过的验证方式对应的验证时刻。
进一步地,所述从所述验证方式列表中去除在所述当前时刻之前的预设时长内,对所述用户进行验证时利用过的验证方式之后,还包括:
判断所述去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
当所述去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,确定所述用户通过本次验证;
当所述去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行所述获取所述去除后的验证方式列表中的其中一行中的验证方式的步骤。
根据本发明实施例的第三方面,提供一种验证装置,所述装置包括:
第一当前时刻获取模块,用于当需要对用户进行验证时,获取本地的当前时刻;
第一验证方式获取模块,用于获取在所述当前时刻之前的预设时长内所述用户未通过的验证方式;
第一验证模块,用于利用所述未通过的验证方式对所述用户进行验证。
根据本发明实施例的第四方面,提供一种验证装置,所述装置包括:
第二当前时刻获取模块,用于当需要对用户进行验证时,获取本地的当前时刻;
第二验证方式获取模块,用于获取在所述当前时刻之前的预设时长内,对所述用户进行验证时未利用过的验证方式;
第二验证模块,用于利用所述未利用过的验证方式对所述用户进行验证。
本发明的实施例提供的技术方案可以包括以下有益效果:在现有技术中,每当用户执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,如果用户在短时间内连续执行多次敏感操作,则在短时间内服务器就会利用相同的验证方式多次对用户进行验证,导致用户体验较低。
而在本发明实施例中,当需要对用户进行验证时,获取在当前时刻之前的预设时长内用户未通过的验证方式,或者,获取在当前时刻之前的预设时长内,对用户进行验证时未利用过的验证方式;然后以获取的验证方式对用户进行验证,避免利用相同的验证方式在短时间内多次对用户进行验证,从而提高用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种验证方法的流程图;
图2是根据一示例性实施例示出的一种验证方法的流程图;
图3是根据一示例性实施例示出的一种验证方法的流程图;
图4是根据一示例性实施例示出的一种验证方法的流程图;
图5是根据一示例性实施例示出的一种验证方法的流程图;
图6是根据一示例性实施例示出的一种验证方法的流程图;
图7是根据一示例性实施例示出的一种验证装置的框图;
图8是根据一示例性实施例示出的一种验证装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种验证方法的流程图,如图1所示,该方法包括以下步骤。
在步骤S101中,当需要对用户进行验证时,获取本地的当前时刻;
用户在使用终端的过程中,有时候需要在终端上执行诸如修改账户密码、网络购物或网络转账等与用户的财产安全息息相关的敏感操作,当终端接收到用户输入的与用户的财产安全息息相关的敏感操作时,会生成敏感请求并发送给服务器,当服务器接收到终端发送的敏感请求时,为了对保障用户的财产安全,在响应敏感请求之前,服务器需要对用户的身份进行验证,以确保敏感操作为用户本人执行的操作,当用户通过验证时,服务器再响应敏感请求。
对于服务器而言,当接收到终端发送的敏感请求时,确定需要对用户进行验证,并获取本地的当前时刻。
在步骤S102中,获取在当前时刻之前的预设时长内用户未通过的验证方式;
预设时长可以为技术人员事先在服务器中设置的时长,可以为30秒钟、1分钟或2分钟等,本发明对此不加以限定。
其中,服务器对用户进行验证的验证方式有很多中,例如,短信验证,邮箱验证,人脸验证、安保问题验证和指纹验证等等。
例如,假设预设时长为10分钟。如果在当前时刻之前的10分钟内,服务器利用短信验证对用户的身份进行验证,且用户通过了该验证,则短信验证为在当前时刻之前的预设时长内用户通过的验证方式。如果在当前时刻之前的10分钟内,服务器利用邮箱验证对用户的身份进行验证,但用户未通过该验证,则邮箱验证为在当前时刻之前的预设时长内用户未通过的验证方式。
在步骤S103中,利用未通过的验证方式对用户进行验证。
其中,在现有技术中,每当用户执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,如果用户在短时间内连续执行多次敏感操作,则在短时间内服务器就会利用相同的验证方式多次对用户进行验证,导致用户体验较低。
而在本发明实施例中,当需要对用户进行验证时,获取在当前时刻之前的预设时长内用户未通过的验证方式;然后以获取的验证方式对用户进行验证,避免利用相同的验证方式在短时间内多次对用户进行验证,从而提高用户体验。
其中,在本发明另一实施例中,参见图2,步骤S102包括:
在步骤S201中,获取验证方式列表;
其中,验证方式列表包括多行,每一行中都包括至少一个验证方式,任意两行中包括的验证方式不完全相同。如果某一行中包括多个验证方式,则该行中的任意两个验证方式都不相同。
例如,验证方式列表可以如下表1所示,表1包括三行,第一行包括两个验证方式,分别为短信验证和邮箱验证;第二行包括一个验证方式,为人脸验证;第三行包括两个验证方式,分别为邮箱验证和安保问题验证。
表1
在步骤S202中,从验证方式列表中去除在当前时刻之前的预设时长内用户通过的验证方式;
具体地,本步骤可以通过如下流程实现,包括:
11)、获取本地存储的验证方式与通过时刻之间的对应关系;
在本发明实施例中,每当服务器利用某一验证方式对用户进行验证时,如果用户通过了该验证方式,则服务器就会获取用户通过该验证方式的通过时刻;然后本地存储的验证方式与通过时刻之间的对应关系中查找是否存在该验证方式。
当上述对应关系中不存在该验证方式时,说明之前用户未曾通过该验证方式,此时可将该验证方式和该通过时刻作为一条记录存储在上述对应关系中。
当上述对应关系中存在该验证方式时,则说明之前用户曾经通过了该验证方式,此时需要在上述对应关系中查找与该验证方式对应的通过时刻,然后利用获取的通过时刻替换查找到的通过时刻,以实现对用户通过该验证方式的通过时刻进行更新。
这样,当需要查找在历史过程中用户最近一次通过某一验证方式的通过时刻时,服务器就可以获取本地存储的验证方式与通过时刻之间的对应关系,然后在上述对应关系中查找与该验证方式对应的通过时刻,从而得到在历史过程中用户最近一次通过该验证方式的通过时刻。
例如,验证方式与通过时刻之间的对应关系可以如下表2所示。
表2
| 验证方式 |
通过时刻 |
| 邮箱验证 |
09:09:22 |
| 短信验证 |
13:05:27 |
| 人脸验证 |
12:08:12 |
| 安保问题验证 |
11:32:45 |
| 指纹验证 |
13:01:21 |
其中,如表2所示,在历史过程中,用户通过的验证方式包括邮箱验证、短信验证、人脸验证、安保问题验证以及指纹验证。其中,用户最近一次通过邮箱验证的通过时刻为09:09:22,用户最近一次通过短信验证的通过时刻为13:05:27,用户最近一次通过人脸验证的通过时刻为12:08:12,用户最近一次通过安保问题验证的通过时刻为11:32:45,以及用户最近一次通过指纹验证的通过时刻为13:01:21。
12)、在上述对应关系中查找与当前时刻之间的距离小于预设时长的通过时刻对应的验证方式;
对于上述对应关系中的任一条记录,获取该记录中包括的通过时刻,将当前时刻与该通过时刻进行减法运算得到一时长,将该时长与预设时长进行比较,如果该时长小于预设时长,则获取该记录中包括的验证方式,并作为与当前时刻之间的距离小于预设时长的通过时刻对应的验证方式。
对于上述对应关系中的其他每一条记录,均执行上述操作,如此实现从对应关系中查找到所有与当前时刻之间的距离小于预设时长的通过时刻对应的验证方式。
例如,假设当前时刻为13:10:04,且预设时长为10分钟。则在表2所示的对应关系中可以查找到与当前时刻13:10:04之间距离小于10分钟的验证时刻分别为13:05:27和13:01:21,以及可以确定出这两个验证时刻对应的验证方式分别为短信验证和指纹验证。
13)、从验证方式列表中删除查找到的验证方式。
具体地,对于在步骤12)中查找到的任一个验证方式,在验证方式列表中查找是否存在该验证方式,当验证方式列表中存在该验证方式时,从验证列表中删除该验证方式;对于步骤12)查找到的其他每一个验证方式,均执行上述操作,如此实现从验证方式列表中删除在步骤12)中查找到的所有验证方式。
例如,在步骤12)中的例子中,查找到的验证方式分别为短信验证和指纹验证;则在表1所示的验证方式列表中查找是否存在短信验证,且确定表1所示的验证方式列表中存在短信验证,则从表1所示的验证方式列表中删除短信验证,得到表3所示的验证方式列表。
表3
然后在表3所示的验证方式列表中查找是否存在指纹验证,且确定表3所示的验证方式列表中不存在指纹验证,则将表3所示的验证方式列表确定为去除后的验证方式列表。
在步骤S203中,获取去除后的验证方式列表中的其中一行中的验证方式。
其中,本发明的目的是从验证方式列表中确定出一行,利用确定出的行中的所有验证方式对用户进行验证;当用户通过了确定出的行中的所有验证方式后,服务器就可以确定用户通过本次验证。
因此,在本发明实施例中,服务器可以主动从去除后的验证方式列表中选择一行,例如随机从去除后的验证方式列表中选择一行,然后获取选择的行中的所有的验证方式。
在本发明另一实施例中,服务器还可以将去除后的验证方式列表发送给终端,以使终端将去除后的验证方式列表显示给用户;用户可以从终端显示的去除后的验证方式列表中选择一行;终端将用户选择的行发送给服务器;服务器获取用户选择的行中的验证方式。
其中,对于用户而言,由于用户必须在通过了验证方式列表中的其中一行中的所有验证方式后,服务器才能确定用户通过本次验证。因此,如果用户选择了一个只包括一个验证方式的行,则用户只要通过了该一个验证方式就可以通过本次验证,如果用户选择了一个包括了多个验证方式的行,则用户需要分别通过该多个验证方式才可以通过本次验证。因此为了能够尽快通过本次验证,用户一般会在去除后的验证方式列表中选择包括的验证方式的数量较少的行。
例如在表3所示的去除后的验证方式列表中,第一行中的验证方式和第二行中的验证方式的数量较少,而第三行中的验证方式的数量较多,因此为了能够通过本次验证,用户一般会选择第一行或第二行。
因此,在本步骤中,如果是服务器主动从去除后的验证方式列表中选择一行,则可以选择包括的验证方式的数量较少的行,以使用户能够尽快通过本次验证。
其中,在前述实施例中已经说明了,只要用户通过了验证方式列表中的任意一行中的所有验证方式,用户就可以通过本次验证。因此,为了能够尽快使得用户通过本次验证,在本发明又一实施例中,在步骤S202之后,参见图3,该方法还包括:
在步骤S301中,判断去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
在有些情况下,如果验证方式列表中的某一行中的所有验证方式均为用户在当前时刻之前的预设时长内通过的验证方式,则在执行步骤S202时就会去除掉该行中的所有验证方式,即该行就不再存在于验证方式列表中,这样,去除后的验证方式列表中的行的数量就小于去除前的验证方式列表中的行的数量。
例如,假设用户在当前时刻之前的预设时长内通过的验证方式为短信验证和人脸验证,则在执行步骤S202时就会从从表1所示的验证方式列表中去除短信验证和人脸验证,得到表4所示的验证方式列表。
表4
其中,表4所示的验证方式列表包括2行,而去除前的表1所示的验证方式列表包括3行,这样,则可以确定去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量,然后执行步骤S302。
当去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,在步骤S302中,确定用户通过本次验证;
在本发明实施例中,只要用户通过了验证方式列表中的任意一行中的所有验证方式,就可以通过本次验证。因此,一旦确定出去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量,则说明对于已经被去除的行中的任意一行,用户在当前时刻之前的预设时长内通过了该行中的所有验证方式,因此就无需再对用户进行验证,从而可以确定用户通过本次验证,结束流程。
当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行步骤S203:获取去除后的验证方式列表中的其中一行中的验证方式。
其中,在本发明实施例中,当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,在去除后的验证方式列表中,可能会存在某一行中的验证方式包括另一行中的验证方式的情况,即,该另一行中的验证方式都存在于该某一行,但是该某一行中的验证方式的数量大于该另一行中的验证方式的数量。
例如在表3所示的验证方式列表中,第三行中的验证方式为邮箱验证和安保问题验证,第一行中的验证方式为邮箱验证,第一行中的邮箱验证存在于第三行中,且第三行中的验证方式的数量大于第一行中国女的验证方式的数量,因此第三行中的验证方式包括第一行中的验证方式。
对于用户而言,选择第一行只需要通过邮箱验证就可以通过本次验证,而选择第三行则不仅需要通过邮箱验证且需要通过安保问题验证才能够通过本次验证。因此,为了能够尽快通过本次验证,在第一行和第三行中,一般情况下,用户会更倾向于选择选择第一行。
然而,有时候服务器也可能会主动从去除后的验证方式列表中选择一行,相对于服务器选择第一行,如果服务器选择了第三行,则用户不仅需要通过邮箱验证且需要通过安保问题验证,这样就无法使用户尽快通过本次验证。
因此,在本发明实施例中,当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,对于去除后的验证方式列表中的任意一行,服务器判断该行中的验证方式是否包括其他行中的验证方式,当该行中的验证方式包括其他行中的验证方式时,从去除后的验证方式列表中删除该行;对于其他每一行,均执行上述操作。
例如,从表3所示的验证方式列表中删除第三行,得到如表5所示的验证方式列表。服务器从表5所示的验证方式列表中选择一行时,除了选择包括扫脸验证的第二行外,只会选择包括邮箱验证的第一行,而不会选择到原来表3中的包括邮箱验证和安保问题验证的第三行。如此,服务器仅仅利用邮箱验证对用户进行验证,用户只要通过了邮箱验证就可以通过本次验证;从而使得用户能够尽快通过验证,提高验证效率。
表5
进一步地,在本发明上述实施例中,当服务器利用未通过的验证方式对用户进行验证之后,当用户通过该验证方式时,服务器获取本地的当前时刻并作为用户通过该验证方式时的通过时刻;然后在本地存储的验证方式与通过时刻之间的对应关系中,利用该通过时刻替换与该验证方式对应的通过时刻,以实现对用户通过该验证方式的通过时刻进行更新。
图4是根据一示例性实施例示出的一种验证方法的流程图,如图4所示,该方法包括以下步骤。
在步骤S401中,当需要对用户进行验证时,获取本地的当前时刻;
用户在使用终端的过程中,有时候需要在终端上执行诸如修改账户密码、网络购物或网络转账等与用户的财产安全息息相关的敏感操作,当终端接收到用户输入的与用户的财产安全息息相关的敏感操作时,会生成敏感请求并发送给服务器,当服务器接收到终端发送的敏感请求时,为了对保障用户的财产安全,在响应敏感请求之前,服务器需要对用户的身份进行验证,以确保敏感操作为用户本人执行的操作,当用户通过验证时,服务器再响应敏感请求。
对于服务器而言,当接收到终端发送的敏感请求时,确定需要对用户进行验证,并获取本地的当前时刻。
在步骤S402中,获取在当前时刻之前的预设时长内,对用户进行验证时未利用过的验证方式;
预设时长可以为技术人员事先在服务器中设置的时长,可以为30秒钟、1分钟或2分钟等,本发明对此不加以限定。
其中,服务器对用户进行验证的验证方式有很多中,例如,短信验证,邮箱验证,人脸验证、安保问题验证和指纹验证等等。
在本发明实施例中,在当前时刻之前的预设时长内,服务器对用户进行验证时可能仅仅利用过上述多种验证方式中的一部分验证方式。
例如,假设预设时长为10分钟。如果在当前时刻之前的10分钟内,服务器利用过短信验证对用户的身份进行验证,则短信验证为在当前时刻之前的预设时长内,对用户进行验证时利用过的验证方式。如果在当前时刻之前的10分钟内,服务器未利用过邮箱验证对用户的身份进行验证,则邮箱验证为在当前时刻之前的预设时长内,对用户进行验证时未利用过的验证方式。
在步骤S403中,利用未利用过的验证方式对用户进行验证。
其中,在现有技术中,每当用户执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,如果用户在短时间内连续执行多次敏感操作,则在短时间内服务器就会利用相同的验证方式多次对用户进行验证,导致用户体验较低。
而在本发明实施例中,当需要对用户进行验证时,获取在当前时刻之前的预设时长内,对用户进行验证时未利用过的验证方式;然后以获取的验证方式对用户进行验证,避免利用相同的验证方式在短时间内多次对用户进行验证,从而提高用户体验。
其中,在本发明另一实施例中,参见图5,步骤S402包括:
在步骤S501中,获取验证方式列表;
其中,验证方式列表包括多行,每一行中都包括至少一个验证方式,任意两行中包括的验证方式不完全相同。如果某一行中包括多个验证方式,则该行中的任意两个验证方式都不相同。
例如,验证方式列表可以如下表1所示,表1包括三行,第一行包括两个验证方式,分别为短信验证和邮箱验证;第二行包括一个验证方式,为人脸验证;第三行包括两个验证方式,分别为邮箱验证和安保问题验证。
表6
在步骤S502中,从验证方式列表中去除在当前时刻之前的预设时长内,对用户进行验证时利用过的验证方式;
具体地,本步骤可以通过如下流程实现,包括:
21)、获取验证方式与验证时刻之间的对应关系;
在本发明实施例中,每当服务器利用某一验证方式对用户进行验证时,服务器会就获取本地的当前时刻并作为对用户进行验证时的验证时刻;然后在本地存储的验证方式与验证时刻之间的对应关系中查找是否存在该验证方式。
当上述对应关系中不存在该验证方式时,说明之前未曾利用过该验证方式对用户进行验证,此时可以将该验证方式与该验证时刻作为一条记录存储在上述对应关系中。
当上述对应关系中存在该验证方式时,则说明之前利用过该验证方式对用户进行验证,此时需要在上述对应关系中查找与该验证方式对应的验证时刻,然后利用获取的验证时刻替换查找到的验证时刻,以实现利用该验证方式对用户进行验证时的验证时刻进行更新。
这样,如果需要查找在历史过程中最近一次利用某一验证方式对用户进行验证时的验证时刻,服务器可以获取本地存储的验证方式与验证时刻之间的对应关系,然后在上述对应关系中查找与该验证方式对应的验证时刻,从而得到在历史过程中最近一次利用该验证方式对用户进行验证时的验证时刻。
例如,验证方式与验证时刻之间的对应关系可以如下表7所示。
表7
| 验证方式 |
验证时刻 |
| 邮箱验证 |
09:09:22 |
| 短信验证 |
13:05:27 |
| 人脸验证 |
12:08:12 |
| 安保问题验证 |
11:32:45 |
| 指纹验证 |
13:01:21 |
其中,如表7所示,在历史过程中,对用户进行验证时利用过的验证方式包括邮箱验证、短信验证、人脸验证、安保问题验证以及指纹验证。其中,最近一次利用邮箱验证对用户进行验证时的验证时刻为09:09:22,最近一次利用短信验证对用户进行验证时的验证时刻为13:05:27,最近一次利用人脸验证对用户进行验证时的验证时刻为12:08:12,最近一次利用安保问题验证对用户进行验证时的验证时刻为11:32:45,以及最近一次利用邮指纹验证对用户进行验证时的验证时刻为13:01:21。
22)、在上述对应关系中查找与当前时刻之间的距离小于预设时长的验证时刻对应的验证方式;
对于上述对应关系中的任一条记录,获取该记录中包括的验证时刻,将当前时刻与该验证时刻进行减法运算得到一时长,将该时长与预设时长进行比较,如果该时长小于预设时长,则获取该记录中包括的验证方式,并作为与当前时刻之间的距离小于预设时长的验证时刻对应的验证方式。
对于上述对应关系中的其他每一条记录,均执行上述操作,如此实现从对应关系中查找到所有与当前时刻之间的距离小于预设时长的验证时刻对应的验证方式。
例如,假设当前时刻为13:10:04,且预设时长为10分钟。则在表2所示的对应关系中可以查找到与当前时刻13:10:04之间距离小于10分钟的验证时刻分别为13:05:27和13:01:21,以及可以确定出这两个验证时刻对应的验证方式分别为短信验证和指纹验证。
23)、从验证方式列表中删除查找到的验证方式。
具体地,对于在步骤22)中查找到的任一个验证方式,在验证方式列表中查找是否存在该验证方式,当验证方式列表中存在该验证方式时,从验证列表中删除该验证方式;对于步骤22)查找到的其他每一个验证方式,均执行上述操作,如此实现从验证方式列表中删除在步骤22)中查找到的所有验证方式。
例如,在步骤22)中的例子中,查找到的验证方式分别为短信验证和指纹验证;则在表6所示的验证方式列表中查找是否存在短信验证,且确定表6所示的验证方式列表中存在短信验证,则从表6所示的验证方式列表中删除短信验证,得到表8所示的验证方式列表。
表8
然后在表8所示的验证方式列表中查找是否存在指纹验证,且确定表3所示的验证方式列表中不存在指纹验证,则将表3所示的验证方式列表确定为去除后的验证方式列表。
在步骤S503中,获取去除后的验证方式列表中的其中一行中的验证方式。
其中,本发明的目的是从验证方式列表中确定出一行,利用确定出的行中的所有验证方式对用户进行验证;当用户通过了确定出的行中的所有验证方式后,服务器就可以确定用户通过本次验证。
因此,在本发明实施例中,服务器可以主动从去除后的验证方式列表中选择一行,例如随机从去除后的验证方式列表中选择一行,然后获取选择的行中的所有的验证方式。
在本发明另一实施例中,服务器还可以将去除后的验证方式列表发送给终端,以使终端将去除后的验证方式列表显示给用户;用户可以从终端显示的去除后的验证方式列表中选择一行;终端将用户选择的行发送给服务器;服务器获取用户选择的行中的验证方式。
其中,对于用户而言,由于用户必须在通过了验证方式列表中的其中一行中的所有验证方式后,服务器才能确定用户通过本次验证。因此,如果用户选择了一个只包括一个验证方式的行,则用户只要通过了该一个验证方式就可以通过本次验证,如果用户选择了一个包括了多个验证方式的行,则用户需要分别通过该多个验证方式才可以通过本次验证。因此为了能够尽快通过本次验证,用户一般会在去除后的验证方式列表中选择包括的验证方式的数量较少的行。
例如在表8所示的去除后的验证方式列表中,第一行中的验证方式和第二行中的验证方式的数量较少,而第三行中的验证方式的数量较多,因此为了能够通过本次验证,用户一般会选择第一行或第二行。
因此,在本步骤中,如果是服务器主动从去除后的验证方式列表中选择一行,则可以选择包括的验证方式的数量较少的行,以使用户能够尽快通过本次验证。
其中,在前述实施例中已经说明了,只要用户通过了验证方式列表中的任意一行中的所有验证方式,用户就可以通过本次验证。因此,为了能够尽快使得用户通过本次验证,在本发明又一实施例中,在步骤S502之后,参见图6,该方法还包括:
在步骤S601中,判断去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
在有些情况下,如果验证方式列表中的某一行中的所有验证方式均为用户在当前时刻之前的预设时长内通过的验证方式,则在执行步骤S502时就会去除掉该行中的所有验证方式,即该行就不再存在于验证方式列表中,这样,去除后的验证方式列表中的行的数量就小于去除前的验证方式列表中的行的数量。
例如,假设在当前时刻之前的预设时长内对用户进行验证时利用过的验证方式为短信验证和人脸验证,则在步骤S502之后,即从表6所示的验证方式列表中去除短信验证和人脸验证之后,可以得到表9所示的验证方式列表。
表9
其中,表9所示的验证方式列表包括2行,而去除前的表6所示的验证方式列表包括3行,这样,则确定去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量,然后执行步骤S602。
当去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,在步骤S602中,确定用户通过本次验证;
在本发明实施例中,只要用户通过了验证方式列表中的任意一行中的所有验证方式,就可以通过本次验证。因此,一旦确定出去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量,则说明对于已经被去除的行中的任意一行,用户在当前时刻之前的预设时长内通过了该行中的所有验证方式,因此就无需再对用户进行验证,从而确定用户通过本次验证,结束流程。
当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行步骤S503:获取去除后的验证方式列表中的其中一行中的验证方式。
其中,在本发明实施例中,当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,在去除后的验证方式列表中,可能会存在某一行中的验证方式包括另一行中的验证方式的情况,即,该另一行中的验证方式都存在于该某一行,但是该某一行中的验证方式的数量大于该另一航中的验证方式的数量。
例如在表8所示的验证方式列表中,第三行中的验证方式为邮箱验证和安保问题验证,第一行中的验证方式为邮箱验证,第一行中的邮箱验证存在于第三行中,且第三行中的验证方式的数量大于第一行中国女的验证方式的数量,因此第三行中的验证方式包括第一行中的验证方式。
对于用户而言,选择第一行只需要通过邮箱验证就可以通过本次验证,而选择第三行则不仅需要通过邮箱验证且需要通过安保问题验证才能够通过本次验证。因此,为了能够尽快通过本次验证,在第一行和第三行中,一般情况下,用户会更倾向于选择选择第一行。
然而,有时候服务器也可能会主动从去除后的验证方式列表中选择一行,相对于服务器选择第一行,如果服务器选择了第三行,则用户不仅需要通过邮箱验证且需要通过安保问题验证,这样就无法使用户尽快通过本次验证。
因此,在本发明实施例中,当去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,对于去除后的验证方式列表中的任意一行,服务器判断该行中的验证方式是否包括其他行中的验证方式,当该行中的验证方式包括其他行中的验证方式包括时,从去除后的验证方式列表中删除该行;对于其他每一行,均执行上述操作。
例如,从表8所示的验证方式列表中删除第三行,得到如表10所示的验证方式列表。服务器从表10所示的验证方式列表中选择一行时,除了选择包括扫脸验证的第二行外,只会选择包括邮箱验证的第一行,而不会选择到原来表8中的包括邮箱验证和安保问题验证的第三行。如此,服务器仅仅利用邮箱验证对用户进行验证,用户只要通过了邮箱验证就可以通过本次验证;从而使得用户能够尽快通过验证,提高验证效率。
表10
进一步地,在本发明上述实施例中,当服务器利用未利用过的验证方式对用户进行验证时,服务器获取本地的当前时刻并作为利用未利用过的验证方式对用户进行验证时验证时刻;然后在本地存储的验证方式与验证时刻之间的在对应关系中,利用该验证时刻替换与该验证方式对应的验证时刻,以实现对利用该验证方式对用户进行验证时的验证时刻进行更新。
图7是根据一示例性实施例示出的一种验证装置的框图。参照图7,该装置包括:
第一当前时刻获取模块11,用于当需要对用户进行验证时,获取本地的当前时刻;
第一验证方式获取模块12,用于获取在所述当前时刻之前的预设时长内所述用户未通过的验证方式;
第一验证模块13,用于利用所述未通过的验证方式对所述用户进行验证。
其中,在现有技术中,每当用户执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,如果用户在短时间内连续执行多次敏感操作,则在短时间内服务器就会利用相同的验证方式多次对用户进行验证,导致用户体验较低。
而在本发明实施例中,当需要对用户进行验证时,获取在当前时刻之前的预设时长内用户未通过的验证方式;然后以获取的验证方式对用户进行验证,避免利用相同的验证方式在短时间内多次对用户进行验证,从而提高用户体验。
其中,所述第一验证方式获取模块12包括:
第一验证方式列表获取单元,用于获取验证方式列表;所述验证方式列表中的每一行均包括至少一个验证方式;
第一去除单元,用于从所述验证方式列表中去除在所述当前时刻之前的预设时长内所述用户通过的验证方式;
第一验证方式获取单元,用于获取所述去除后的验证方式列表中的其中一行中的验证方式。
其中,所述第一去除单元包括:
第一获取子单元,用于获取本地存储的验证方式与通过时刻之间的对应关系;
第一查找子单元,用于在所述对应关系中查找与所述当前时刻之间的距离小于预设时长的通过时刻对应的验证方式;
第一删除子单元,用于从所述验证方式列表中删除所述查找到的验证方式。
进一步地,所述装置还包括:
通过时刻获取模块,用于当所述用户通过所述未通过的验证方式时,获取本地的当前时刻并确定为所述用户通过所述未通过的验证方式时的通过时刻;
第一替换模块,用于在所述对应关系中,利用所述确定的通过时刻替换与所述未通过的验证方式对应的通过时刻。
进一步地,所述第一验证方式获取模块12还包括:
第一判断单元,用于判断所述去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
第一确定单元,用于当所述去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,确定所述用户通过本次验证;
所述第一验证方式获取单元还用于当所述去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行所述获取所述去除后的验证方式列表中的其中一行中的验证方式的步骤。
图8是根据一示例性实施例示出的一种验证装置的框图。参照图8,该装置包括:
第二当前时刻获取模块21,用于当需要对用户进行验证时,获取本地的当前时刻;
第二验证方式获取模块22,用于获取在所述当前时刻之前的预设时长内,对所述用户进行验证时未利用过的验证方式;
第二验证模块23,用于利用所述未利用过的验证方式对所述用户进行验证。
其中,在现有技术中,每当用户执行一次敏感操作服务器都会利用短信验证对用户的身份进行验证,如果用户在短时间内连续执行多次敏感操作,则在短时间内服务器就会利用相同的验证方式多次对用户进行验证,导致用户体验较低。
而在本发明实施例中,当需要对用户进行验证时,获取在当前时刻之前的预设时长内,对用户进行验证时未利用过的验证方式;然后以获取的验证方式对用户进行验证,避免利用相同的验证方式在短时间内多次对用户进行验证,从而提高用户体验。
其中,所述第二验证方式获取模块22,包括:
第二验证方式列表获取单元,用于获取验证方式列表;所述验证方式列表中的每一行均包括至少一个验证方式;
第二去除单元,用于从所述验证方式列表中去除在所述当前时刻之前的预设时长内,对所述用户进行验证时利用过的验证方式;
第二验证方式获取单元,用于获取所述去除后的验证方式列表中的其中一行中的验证方式。
其中,所述第二去除单元包括:
第二获取子单元,用于获取本地存储的验证方式与验证时刻之间的对应关系;
第二查找子单元,用于在所述对应关系中查找与所述当前时刻之间的距离小于预设时长的验证时刻对应的验证方式;
第二删除子单元,用于从所述验证方式列表中删除所述查找到的验证方式。
进一步地,所述装置还包括:
验证时刻获取模块,用于当利用所述未通过的验证方式对所述用户进行验证时,获取本地的当前时刻并确定为利用所述未利用过的验证方式对用户进行验证时验证时刻;
第二替换模块,用于在所述对应关系中,利用所述确定出的验证时刻替换与所述未利用过的验证方式对应的验证时刻。
进一步地,所述第二验证方式获取模块22还包括:
第二判断单元,用于判断所述去除后的验证方式列表中的行的数量是否小于去除前的验证方式列表中的行的数量;
第二确定单元,用于当所述去除后的验证方式列表中的行的数量小于去除前的验证方式列表中的行的数量时,确定所述用户通过本次验证;
所述第二验证方式获取单元还用于当所述去除后的验证方式列表中的行的数量等于去除前的验证方式列表中的行的数量时,执行所述获取所述去除后的验证方式列表中的其中一行中的验证方式的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。