身份验证方法和装置与流程

文档序号:11215771阅读:296来源:国知局
本发明涉及互联网
技术领域
:,特别涉及一种身份验证方法和装置。
背景技术
::随着互联网技术的发展,终端上安装的应用程序越来越多;并且,大部分应用程序都需要用户事先在服务器中注册用户账户,并设置登录密码。在用户使用应用程序时,终端基于该用户账户和登录密码登录服务器。然而用户可能会忘记登录密码,此时服务器需要对用户进行身份验证;并在验证通过时,允许终端登录服务器或者修改登录密码。目前,用户在服务器中注册用户账户时,可以在服务器中预留手机号码。当终端申请服务器对用户进行身份验证时,服务器向该预留手机号码对应的手机发送第一验证码;如果服务器发送第一验证码之后的预设时长内接收到终端返回的第二验证码,且第一验证码和第二验证码相同,服务器确定对用户的身份验证通过;否则,服务器确定对用户的身份验证不通过。如果验证不通过,终端可以重新申请服务器基于以上步骤对用户身份进行验证,直到验证通过或者终端停止申请验证。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:如果恶意用户在注册用户账户时,随意填写电话号码;然而在服务器对用户进行身份验证时,恶意用户用自动化程序不断申请验证并重试验证码,从而对服务器造成了攻击。技术实现要素:为了解决现有技术的问题,本发明提供了一种身份验证方法和装置。技术方案如下:本发明提供了一种身份验证方法,所述方法包括:接收第一终端发送的第一验证请求,所述第一验证请求携带用户的用户信息和所述用户请求的目标验证方式,所述用户信息至少包括用户标识;根据所述用户信息,确定所述用户是否为恶意用户;如果所述用户为恶意用户,基于第一附加验证方式对所述用户进行附加验证,所述第一附加验证方式和所述目标验证方式不同;在基于所述第一附加验证方式对所述用户附加验证通过时,基于所述目标验证方式和所述用户标识,对所述用户进行身份验证。在一个可能的实现方式中,所述根据所述用户信息,确定所述用户是否为恶意用户,包括:根据所述用户标识,统计第一次数,所述第一次数为在当前时间之前的第一预设时长内接收到携带所述用户标识的验证请求的次数;如果所述第一次数大于第一预设次数,确定所述用户为恶意用户;和/或,当所述用户信息还包括所述第一终端的第一终端标识,确定恶意终端标识库中是否存在所述第一终端标识;如果所述恶意终端标识库中存在所述第一终端标识,确定所述用户为恶意用户,所述恶意终端标识库中存储恶意用户使用的终端的终端标识;和/或,当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识,统计第二次数,所述第二次数为在当前时间之前的第二预设时长内接收到所述第一终端发送的验证请求的次数;如果所述第二次数大于第二预设次数,确定所述用户为恶意用户;和/或,当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识和所述用户标识,统计用户数目,所述用户数目为在当前时间之前的第三预设时长内通过所述第一终端发送验证请求的用户数目;如果所述用户数目大于预设数目,确定所述用户为恶意用户。在一个可能的实现方式中,所述基于第一附加验证方式对所述用户进行附加验证,包括:向所述第一终端发送第一验证信息,并接收所述第一终端基于所述第一验证信息返回的第二验证信息;如果所述第一验证信息和所述第二验证信息匹配,确定基于所述第一附加验证方式对所述用户附加验证通过。在一个可能的实现方式中,所述方法还包括:在基于所述第一附加验证方式对所述用户附加验证不通过时,基于第二附加验证方式对所述用户再次进行附加验证,直到附加验证通过或者在当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数。在一个可能的实现方式中,当所述目标验证方式为短信验证时,所述基于所述目标验证方式和所述用户标识,对所述用户进行身份验证,包括:根据所述用户标识,向所述用户预留的第二终端标识指示的第二终端发送第一验证码;如果在当前时间之后的第五预设时长内接收到第二验证码,且所述第一验证码和所述第二验证码相同,对所述用户身份验证通过;如果在当前时间之后的第五预设时长内没有接收到所述第二验证码,或者所述第一验证码和所述第二验证码不相同,对所述用户身份验证不通过。在一个可能的实现方式中,所述方法还包括:如果对所述用户身份验证不通过,确定所述用户在当前时间之前的第六预设时长内的第二失败验证次数;如果所述第二失败验证次数不大于第四预设次数,执行所述根据所述用户标识,向所述用户预留的第二终端标识指示的终端发送第三验证信息的步骤;如果所述第二失败验证次数大于所述第四预设次数,执行所述基于第一附加验证方式对所述用户进行附加验证的步骤。在一个可能的实现方式中,所述方法还包括:在基于所述第一附加验证方式对所述用户附加验证不通过,或者对所述用户身份验证不通过时,确定所述用户在当前时间之前的第七预设时长内的第三失败验证次数;根据所述第三失败验证次数,确定所述用户的禁止重试时长;如果在所述禁止重试时长内接收到所述第一终端发送的第二验证请求,忽略所述第二验证请求,所述第二验证请求携带所述用户标识。第二方面,本发明提供了一种身份验证装置,所述装置包括:接收模块,用于接收第一终端发送的第一验证请求,所述第一验证请求携带用户的用户信息和所述用户请求的目标验证方式,所述用户信息至少包括用户标识;确定模块,用于根据所述用户信息,确定所述用户是否为恶意用户;附加验证模块,用于如果所述用户为恶意用户,基于第一附加验证方式对所述用户进行附加验证,所述第一附加验证方式和所述目标验证方式不同;身份验证模块,用于在基于所述第一附加验证方式对所述用户附加验证通过时,基于所述目标验证方式和所述用户标识,对所述用户进行身份验证。在一个可能的实现方式中,所述确定模块,还用于根据所述用户标识,统计第一次数,所述第一次数为在当前时间之前的第一预设时长内接收到携带所述用户标识的验证请求的次数;如果所述第一次数大于第一预设次数,确定所述用户为恶意用户;和/或,所述确定模块,还用于当所述用户信息还包括所述第一终端的第一终端标识,确定恶意终端标识库中是否存在所述第一终端标识;如果所述恶意终端标识库中存在所述第一终端标识,确定所述用户为恶意用户,所述恶意终端标识库中存储恶意用户使用的终端的终端标识;和/或,所述确定模块,还用于当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识,统计第二次数,所述第二次数为在当前时间之前的第二预设时长内接收到所述第一终端发送的验证请求的次数;如果所述第二次数大于第二预设次数,确定所述用户为恶意用户;和/或,所述确定模块,还用于当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识和所述用户标识,统计用户数目,所述用户数目为在当前时间之前的第三预设时长内通过所述第一终端发送验证请求的用户数目;如果所述用户数目大于预设数目,确定所述用户为恶意用户。在一个可能的实现方式中,所述附加验证模块,还用于向所述第一终端发送第一验证信息,并接收所述第一终端基于所述第一验证信息返回的第二验证信息;如果所述第一验证信息和所述第二验证信息匹配,确定基于所述第一附加验证方式对所述用户附加验证通过。在一个可能的实现方式中,所述附加验证模块,还用于在基于所述第一附加验证方式对所述用户附加验证不通过时,基于第二附加验证方式对所述用户再次进行附加验证,直到附加验证通过或者在当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数。在一个可能的实现方式中,当所述目标验证方式为短信验证时,所述身份验证模块,还用于根据所述用户标识,向所述用户预留的第二终端标识指示的第二终端发送第一验证码;如果在当前时间之后的第五预设时长内接收到第二验证码,且所述第一验证码和所述第二验证码相同,对所述用户身份验证通过;如果在当前时间之后的第五预设时长内没有接收到所述第二验证码,或者所述第一验证码和所述第二验证码不相同,对所述用户身份验证不通过。在一个可能的实现方式中,所述附加验证模块,还用于如果对所述用户身份验证不通过,确定所述用户在当前时间之前的第六预设时长内的第二失败验证次数;所述身份验证模块,还用于如果所述第二失败验证次数不大于第四预设次数,根据所述用户标识,向所述用户预留的第二终端标识指示的终端发送第三验证信息;所述附加验证模块,还用于如果所述第二失败验证次数大于所述第四预设次数,基于第一附加验证方式对所述用户进行附加验证。在一个可能的实现方式中,所述装置还包括:忽略模块;所述确定模块,还用于在基于所述第一附加验证方式对所述用户附加验证不通过,或者对所述用户身份验证不通过时,确定所述用户在当前时间之前的第七预设时长内的第三失败验证次数;所述确定模块,还用于根据所述第三失败验证次数,确定所述用户的禁止重试时长;所述忽略模块,还用于如果在所述禁止重试时长内接收到所述第一终端发送的第二验证请求,忽略所述第二验证请求,所述第二验证请求携带所述用户标识。在本发明实施例中,在对用户进行身份验证时,先根据用户的用户信息确定该用户是否为恶意用户;如果该用户为恶意用户,基于第一附加验证方式对该用户进行附加验证,在基于第一附加验证方式对该用户附加验证通过时,才基于目标验证方式和该用户的用户标识,对该用户进行身份验证。由于增加了第一附加验证方式,因此,增加了恶意用户的验证成本,减少了对服务器的攻击。附图说明图1是本发明实施例提供的一种实施环境示意图;图2是本发明实施例提供的一种身份验证方法流程图;图3-1是本发明实施例提供的一种身份验证方法信令交互图;图3-2是本发明实施例提供的一种身份验证方法流程图;图4是本发明实施例提供的一种身份装置结构示意图;图5是本发明实施例提供的一种服务器的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。目前,用户使用第一终端上安装的应用程序时,第一终端需要基于用户标识和登录密码登录服务器。然而当用户忘记登录密码时,用户可以申请服务器对用户进行身份验证。在验证通过时,第一终端可以修改登录密码或者登录服务器。在另一种场景中,用户在服务器中注册用户账户时,服务器也需要对用户进行身份验证。在验证通过时,服务器存储该用户的用户标识和登录密码的对应关系。在现有技术中,服务器一般是向用户在服务器中预留的手机号码对应的第二终端发送第一验证码,并接收第一终端基于该第一验证码返回的第二验证码;基于第一验证码和第二验证码,对用户进行身份验证。然而如果恶意用户在注册用户账户时,随意填写电话号码,在服务器对用户进行身份验证时,恶意用户用自动化程序不断申请验证并重试验证码,从而对服务器造成攻击。本发明实施例正是为了减少对服务器的攻击,第一终端向服务器发送的第一验证请求中携带用户信息,该用户信息至少包括用户标识,该用户标识可以为用户事先在服务器中注册的用户账号。该用户账户可以为用户的名称或者手机号码等。该用户信息还可以包括第一终端的第一终端标识,第一终端标识可以为用户的电话号码、第一终端的id(identity,身份标识号码)或者ip(internetprotocol,网络之间互连的协议)等。服务器在对用户进行身份验证之前,服务器基于该用户信息,确定该用户是否为恶意用户。如果该用户为恶意用户,服务器在基于目标验证方式对用户进行身份验证之前,服务器先基于第一附加验证方式对用户进行附加验证,第一附加验证方式可以为填图片验证码、指示第二终端向服务器发送第一指定信息等。在基于第一附加验证方式对用户附加验证通过时,才基于目标验证方式和用户标识,对用户进行身份验证。在本发明实施例中,由于服务器在对用户进行身份验证之前,服务器基于用户信息,确定用户是否为恶意用户,如果用户为恶意用户,基于第一附加验证方式对用户进行附加验证,从而增加了恶意用户的验证成本,减少了对服务器的攻击。本发明实施例提供了一种实施环境的示意图,参见图1,该实施环境包括服务器10和第一终端20。服务器10和第一终端20之间通过通信网络连接。第一终端20中运行服务器10关联的应用,可以基于用户标识和登录密码登录服务器10,从而与服务器10进行交互。该应用可以为社交应用、视频应用、直播应用、音频应用、云存储应用等多种应用。当用户忘记登录密码时,第一终端20,用于向服务器10发送第一验证请求,该第一验证请求携带用户的用户信息和用户请求的目标验证方式。其中,用户信息至少包括用户标识,还包括第一终端的第一终端标识。目标验证方式可以为短信验证或者邮件验证等。服务器10,用于接收第一验证请求,根据该用户信息,确定用户是否为恶意用户;如果用户为恶意用户,基于第一附加验证方式对用户进行附加验证,第一附加验证方式和目标验证不同,第一附加验证方式可以为填图片验证码、指示第一终端向服务器发送第一指定信息等。服务器10,还用于基于第一附加验证方式对该用户附加验证通过时,基于目标验证方式和该用户标识,对该用户进行身份验证。该实施环境还包括第二终端30,第二终端30为用户在注册用户账户时在服务器10中预留的电话号码对应的终端。其中,第一终端20和第二终端30可以为同一个终端,也可以为不同的终端。相应的,当目标验证方式为短信验证时,服务器10,还用于根据用户标识,向用户预留的第二终端标识指示的第二终端发送第一验证码;如果在当前时间之后的第五预设时长内接收到第二验证码,且第一验证码和第二验证码相同,对该用户身份验证通过;如果在当前时间之后的第五预设时长内没有接收到第二验证码,或者第一验证码和第二验证码不相同,对该用户身份验证不通过。第一终端20可以为手机终端设备、pad(portableandroiddevice,平板电脑)终端设备或者电脑终端设备等;第二终端30可以为手机终端等。服务器10可以为是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心,本发明实施例对此不做限定。本发明实施例提供了一种身份验证方法,该方法的执行主体可以为服务器。参见图2,该方法包括:步骤201:接收第一终端发送的第一验证请求,第一验证请求携带用户的用户信息和该用户请求的目标验证方式,该用户信息至少包括用户标识。步骤202:根据该用户信息,确定该用户是否为恶意用户。步骤203:如果该用户为恶意用户,基于第一附加验证方式对该用户进行附加验证,第一附加验证方式和目标验证方式不同。步骤204:在基于第一附加验证方式对该用户附加验证通过时,基于目标验证方式和该用户标识,对用该户进行身份验证。在一个可能的实现方式中,根据该用户信息,确定该用户是否为恶意用户,包括:根据该用户标识,统计第一次数,第一次数为在当前时间之前的第一预设时长内接收到携带该用户标识的验证请求的次数;如果第一次数大于第一预设次数,确定该用户为恶意用户;和/或,当该用户信息还包括第一终端的第一终端标识,确定恶意终端标识库中是否存在第一终端标识;如果该恶意终端标识库中存在第一终端标识,确定该用户为恶意用户,该恶意终端标识库中存储恶意用户使用的终端的终端标识;和/或,当该用户信息还包括第一终端的第一终端标识,根据第一终端标识,统计第二次数,第二次数为在当前时间之前的第二预设时长内接收到第一终端发送的验证请求的次数;如果第二次数大于第二预设次数,确定该用户为恶意用户;和/或,当该用户信息还包括第一终端的第一终端标识,根据第一终端标识和该用户标识,统计用户数目,该用户数目为在当前时间之前的第三预设时长内通过第一终端发送验证请求的用户数目;如果该用户数目大于预设数目,确定该用户为恶意用户。在一个可能的实现方式中,基于第一附加验证方式对该用户进行附加验证,包括:向第一终端发送第一验证信息,并接收第一终端基于第一验证信息返回的第二验证信息;如果第一验证信息和第二验证信息匹配,确定基于第一附加验证方式对该用户附加验证通过。在一个可能的实现方式中,该方法还包括:在基于第一附加验证方式对该用户附加验证不通过时,基于第二附加验证方式对该用户再次进行附加验证,直到附加验证通过或者在当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数。在一个可能的实现方式中,当目标验证方式为短信验证时,基于目标验证方式和该用户标识,对该用户进行身份验证,包括:根据该用户标识,向该用户预留的第二终端标识指示的第二终端发送第一验证码;如果在当前时间之后的第五预设时长内接收到第二验证码,且第一验证码和第二验证码相同,对该用户身份验证通过;如果在当前时间之后的第五预设时长内没有接收到第二验证码,或者第一验证码和第二验证码不相同,对该用户身份验证不通过。在一个可能的实现方式中,该方法还包括:如果对该用户身份验证不通过,确定该用户在当前时间之前的第六预设时长内的第二失败验证次数;如果第二失败验证次数不大于第四预设次数,执行根据该用户标识,向该用户预留的第二终端标识指示的终端发送第三验证信息的步骤;如果该第二失败验证次数大于该第四预设次数,执行基于第一附加验证方式对该用户进行附加验证的步骤。在一个可能的实现方式中,该方法还包括:在基于第一附加验证方式对该用户附加验证不通过,或者对该用户身份验证不通过时,确定该用户在当前时间之前的第七预设时长内的第三失败验证次数;根据第三失败验证次数,确定该用户的禁止重试时长;如果在该禁止重试时长内接收到第一终端发送的第二验证请求,忽略第二验证请求,该第二验证请求携带该用户标识。在本发明实施例中,在对用户进行身份验证时,先根据用户的用户信息确定该用户是否为恶意用户;如果该用户为恶意用户,基于第一附加验证方式对该用户进行附加验证,在基于第一附加验证方式对该用户附加验证通过时,才基于目标验证方式和该用户的用户标识,对该用户进行身份验证。由于增加了第一附加验证方式,因此,增加了恶意用户的验证成本,减少了对服务器的攻击。本发明实施例提供了一种身份验证方式,该方法应用在第一终端和服务器之间;参见图3-1,该方法包括:步骤301:第一终端向服务器发送第一验证请求,该第一验证请求携带用户的用户信息和用户请求的目标验证方式。当第一终端基于其上安装的应用程序登录服务器时,第一终端显示登录界面,登录界面包括第一输入框、第二输入框和登录按钮。第一输入框用于输入用户标识,第二输入框用于输入登录密码。用户可以在第一输入框中输入用户标识,在第二输入框中输入登录密码,并点击登录按钮。第一终端检测到登录按钮被触发时,第一终端获取第一输入框中输入的用户标识和第二输入框中输入的登录密码,向服务器发送登录请求,该登录请求携带该用户标识和该登录密码。服务器接收第一终端发送的登录请求,如果该用户标识和该登录密码匹配,确定第一终端登录成功。如果该用户标识和该登录密码不匹配,确定第一终端登录失败。该登录界面还包括:身份验证按钮,该身份验证按钮可以为“忘记密码按钮”。该身份验证按钮用于服务器对用户进行身份验证。当第一终端登录失败或者用户忘记登录密码,用户可以点击该身份验证按钮。第一终端检测到该身份验证按钮被触发时,显示验证界面,该验证界面包括至少一个验证方式和申请按钮。用户可以基于至少一个验证方式选择一个目标验证方式并点击申请按钮。此时,第一终端检测到申请按钮被点击时,获取用户选择的目标验证方式,向服务器发送第一验证请求,第一验证请求携带用户信息和目标验证方式。第一验证请求还可以携带目标操作。在另一种实施场景中,第一终端基于其上安装的应用程序在服务器中注册用户账户时,第一终端显示注册界面,该注册界面包括第三输入框和注册按钮。第三输入框用于输入用户标识。用户可以在第三输入框中输入用户标识,并点击注册按钮。第一终端检测到注册按钮被触发时,显示验证界面,该验证界面包括至少一个验证方式和申请按钮。用户可以基于至少一个验证方式选择一个目标验证方式并点击申请按钮。此时,第一终端检测到申请按钮被点击时,获取用户选择的目标验证方式,向服务器发送第一验证请求,第一验证请求携带用户信息和目标验证方式。第一验证请求还可以携带目标操作。其中,用户信息至少包括用户标识,用户标识为用户事先在服务器中注册的用户账户,用户信息还包括第一终端标识,第一终端标识可以为用户的手机号码、第一终端的id或者ip等。目标验证方式可以为短信验证或者邮件验证等。,该目的操作可以为登录操作或者修改登录密码操作。步骤302:服务器接收第一终端发送的第一验证请求,根据该用户信息,确定该用户是否为恶意用户。当用户信息仅包括用户标识时,本步骤可以通过以下第一种方式实现;当用户信息还包括第一终端标识时,本步骤可以通过以下第二种、第三种或者第四种方式实现。并且,当确定出该用户为恶意用户时,执行步骤303;当确定出该用户不为恶意用户时,执行步骤304。(一)该用户信息包括用户标识;如果用户在一段时间内多次请求验证,则该用户可能为恶意用户;相应的,对于第一种实现方式,本步骤可以为:服务器根据该用户标识,统计第一次数,第一次数为在当前时间之前的第一预设时长内接收到携带该用户标识的验证请求的次数。服务器确定第一次数是否大于第一预设次数;如果第一次数大于第一预设次数,服务器确定该用户为恶意用户;如果第一次数不大于第一预设次数,服务器确定该用户不为恶意用户。服务器接收到第一终端发送的第一验证请求时,服务器获取当前时间作为该第一验证请求的发送时间,将该发送时间和该用户标识的对应关系存储到用户验证记录中,该用户验证记录中存储该用户历史通过终端发送第一验证请求的发送时间和该用户标识的对应关系。相应的,服务器根据该用户标识,统计第一次数的步骤可以为:服务器根据该用户标识,从用户验证记录中统计包括该用户标识,且发送时间在当前时间之前的第一预设时长内的对应关系的个数,将该个数作为第一次数。第一预设时长和第一预设次数可以根据需要进行设置并更改,在本发明实施例中,对第一预设时长和第一预设次数不作具体限定。例如,第一预设时长可以为半天、1天或者2天。第一预设次数可以为5次或者8次。由于服务器可能用不到离当前时间较远的发送时间和用户标识的对应关系,因此,为了节省存储空间以及提高统计效率,服务器定期更新用户验证记录,具体过程可以为:服务器将用户验证记录中发送时间不在当前时间之前的第八预设时长内的发送时间和用户标识的对应关系删除。第八预设时长大于或者等于第一预设时长。并且,第八预设时长也可以根据需要进行设置并更改,在本发明实施例中,对第八预设时长不作具体限定。例如,第八预设时长可以为1个月或者半个月等。(二):该用户信息还包括第一终端标识;服务器事先通过不断积累形成了恶意终端标识库,该恶意终端标识库用于存储恶意用户使用的终端的终端标识;相应的,对于第二种实现方式,本步骤可以为:服务器确定该恶意终端标识库中是否存在第一终端标识。如果该恶意终端标识库中存在第一终端标识,服务器确定该用户为恶意用户;如果该恶意终端标识库中不存在第一终端标识,服务器确定该用户不为恶意用户。(三):该用户信息还包括第一终端标识;如果第一终端在一定时间内多次请求验证,则该用户可能是恶意用户;相应的,对于第三种实现方式,本步骤可以为:服务器根据第一终端标识,统计第二次数,第二次数为在当前时间之前的第二预设时长内接收到第一终端发送的验证请求的次数。服务器确定第二次数是否大于第二预设次数;如果第二次数大于第二预设次数,服务器确定该用户为恶意用户;如果第二次数不大于第二预设次数,服务器确定该用户不为恶意用户。服务器接收到第一终端发送的第一验证请求时,服务器获取当前时间作为第一终端发送该第一验证请求的发送时间,将该发送时间和第一终端标识的对应关系存储到终端验证记录中,该终端验证记录中存储第一终端历史发送第一验证请求的发送时间和第一终端标识的对应关系。相应的,服务器根据第一终端标识,统计第一终端在当前时间之前的第二预设时长内发送第一验证请求的第二次数的步骤可以为:服务器根据第一终端标识,从终端验证记录中统计包括第一终端标识,且发送时间在当前时间之前的第二预设时长内的对应关系的个数,将该个数作为第二次数。第二预设时长和第一预设时长可以相同,也可以不相同。第二预设次数和第一预设次数可以相同,也可以不相同。第二预设次数和第二预设时长可以根据需要进行设置并更改,在本发明实施例中,对第二预设时长和第二预设次数不作具体限定。例如,第二预设时长可以为半天、1天或者2天。第二预设次数可以为5次或者8次。由于服务器可能用不到离当前时间较远的发送时间和第一终端标识的对应关系;因此,为了节省存储空间以及提高统计效率,服务器定期更新终端验证记录,具体过程可以为:服务器将终端验证记录中发送时间不在当前时间之前的第九预设时长内的发送时间和第一终端标识的对应关系删除。第九预设时长大于或者等于第二预设时长。并且,第九预设时长也可以根据需要进行设置并更改,在本发明实施例中,对第九预设时长不作具体限定。例如,第九预设时长可以为1个月或者半个月等。(四):该用户信息还包括第一终端标识;如果一段时间内有多人使用第一终端发送第一验证请求,则该用户可能为恶意用户;相应的,对于第四种实现方式,本步骤可以为:服务器根据第一终端标识和该用户标识,统计用户数目,该用户数目为在当前时间之前的第三预设时长内通过第一终端发送第一验证请求的用户数目。服务器确定该用户数目是否大于预设数目;如果该用户数目大于预设数目,服务器确定该用户为恶意用户;如果该用户数目不大于预设数目,服务器确定该用户不为恶意用户。服务器接收到第一终端发送的第一验证请求时,服务器获取当前时间作为第一终端发送该第一验证请求的发送时间,将该发送时间、该用户标识和第一终端标识的对应关系存储在用户-终端验证记录中,该用户-终端验证记录中存储该用户通过第一终端发送第一验证请求的发送时间、该用户标识和第一终端标识的对应关系。相应的,服务器根据第一终端标识和该用户标识,统计用户数目的步骤可以为:服务器根据第一终端标识和该用户标识,从用户-终端验证记录中统计包括该用户标识和第一终端标识,且发送时间在当前时间之前的第三预设时长内的对应关系的个数,将该个数作为用户数目。第三预设时长和第一预设时长可以相同,也可以不相同。第三预设时长和第二预设时长可以相同,也可以不相同。预设数目和第一预设次数可以相同,也可以不相同。预设数目和第二预设次数可以相同,也可以不相同。第三预设时长和预设数目可以根据需要进行设置并更改,在本发明实施例中,对第三预设时长和预设数目不作具体限定。例如,第三预设时长可以为半天、1天或者2天。预设数目可以为3次或者5次。由于服务器可能用不到离当前时间较远的发送时间、用户标识和第一终端标识的对应关系;因此,为了节省存储空间以及提高统计效率,服务器定期更新用户-终端验证记录,具体过程可以为:服务器将用户-终端验证记录中发送时间不在当前时间之前的第十预设时长内的发送时间、该用户标识和第一终端标识的对应关系删除。第十预设时长大于或者等于第三预设时长。并且,第十预设时长也可以根据需要进行设置并更改,在本发明实施例中,对第十预设时长不作具体限定。例如,第十预设时长可以为1个月或者半个月等。需要说明的是,服务器根据该用户信息,确定该用户是否为恶意用户时,服务器可以通过以上第一种实现方式-第四种实现方式中的一种或者多种实现方式。并且,如果服务器根据该用户信息,确定该用户是否为恶意用户时,没有通过以上第二种实现方式;并且,服务器确定出该用户为恶意用户时,服务器将第一终端标识添加到恶意终端标识库中,以便于后续第一终端发送第一验证请求时,服务器通过第二种方式,确定该用户是否为恶意用户。进一步地,本发明实施例提供的身份验证方法是为了对恶意用户的验证进行有效拦截,如果正常用户在身份验证过程中,服务器判断出错,将正常用户误判为恶意用户,此时用户还可以进行申诉纠正,具体过程可以为:服务器确定该用户为恶意用户时,显示第一提示信息,该第一提示信息包括恶意用户指示信息和申诉纠正方式。其中,恶意用户指示信息可以为“您为可疑用户”。申诉纠正方式可以为向服务器发送第三指定信息,或者拨打指定电话号码。第三指定信息包括该用户标识和指定内容。指定内容可以为“我不是可疑用户”。进一步地,如果服务器接收到第三指定信息或者客服接收到该用户的电话反馈,服务器确定该用户不为恶意用户,基于目标验证方式和该用户标识,对该用户进行身份验证。进一步地,服务器确定该用户不为恶意用户时,将第一终端标识从恶意终端标识库中删除。步骤303:如果该用户为恶意用户,服务器基于第一附加验证方式对该用户进行附加验证,第一附加验证方式和目标验证方式不同。第一附加验证方式可以为填图片验证码、指示第一终端向服务器发送第一指定信息等。当第一附加验证方式为填图片验证码,本步骤可以通过以下第一种方式实现;当第一附加验证方式为指示第二终端向服务器发送第一指定信息,本步骤可以通过以下第二种方式实现。并且,如果基于第一附加验证方式对该用户附加验证通过时,执行步骤305;如果基于第一附加验证方式对该用户附加验证不通过时,执行步骤304。对于第一种实现方式,本步骤可以通过以下步骤(1)至(4)实现,包括:(1):服务器向第一终端发送第一验证信息。第一验证信息包括多个图片的图片数据以及第二提示信息。第二提示信息用于指示用户从多个图片中选择图片。例如,多个图片分别为凳子、桌子和书包。第二提示信息为“请从多个图片中选择桌子图片”。(2):第一终端接收服务器发送的第一验证信息,并基于第一验证信息向服务器返回第二验证信息。第一终端基于多个图片的图片数据,渲染多个图片;并显示该第二提示信息。用户基于该第二提示信息,从多个图片中选择该第二提示信息指示的图片标识。第一终端获取用户选择的图片标识,将该图片标识组成第二验证信息。(3):服务器接收第一终端返回的第二验证信息,确定第一验证信息和第二验证信息是否匹配。服务器根据第一验证信息,确定该第二提示信息指示的图片标识。如果该第二提示信息指示的图片标识和第二验证信息包括的图片标识相同;服务器确定第一验证信息和第二验证信息匹配。如果该第二提示信息指示的图片标识和第二验证信息包括的图片标识不相同,服务器确定第一验证信息和第二验证信息不匹配。(4):如果第一验证信息和第二验证信息匹配,服务器确定对该用户附加验证通过;如果第一验证信息和第二验证信息不匹配,服务器确定对该用户附加验证不通过。对于第二种实现方式,本步骤可以通过以下步骤(a)至(d)实现,包括:(a):服务器向第一终端发送第三验证信息,第三验证信息用于指示第二终端向服务器发送第一指定信息。第一指定信息可以为短信或者微信。且第一指定信息包括该用户标识和目标操作信息。例如,当用户想要重置登录密码时,目标操作信息为重置登录密码信息;再如,当用户想要通过第一终端登录服务器时,目标操作信息为登录信息。在本发明实施例中,当第一指定信息为短信时,可以增加恶意用户的验证成本。(b):第一终端接收服务器发送的第三验证信息,显示第三验证信息。用户可以基于第三验证信息,通过第二终端向服务器发送该第一指定信息。(c):第二终端向服务器发送第四验证信息。(d):服务器接收第二终端发送的第四验证信息,如果第四验证信息包括该第一指定信息,则服务器确定对该用户附加验证通过;如果第四验证信息不包括该第一指定信息,则服务器确定对该用户附加验证不通过。步骤304:如果服务器基于第一附加验证方式对该用户附加验证不通过,服务器基于第二附加验证方式对该用户再次进行附加验证,直到附加验证通过或者当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数,第二附加验证方式的验证难度可以大于、等于或者小于第一附加验证方式的验证难度。且第一附加验证方式和第二附加验证方式均用于防止自动化程序。第二附加验证方式也可以为填图片验证码或者指示第一终端向服务器发送第二指定信息等。第二附加验证方式对应的图片个数大于、等于或者小于第一附加验证方式对应的图片个数。第二指定信息的难度大于、等于或者小于第一指定信息的难度。如果基于第二附加验证方式对该用户附加验证通过时,执行步骤305;如果基于第二附加验证方式对该用户附加验证不通过时,重新基于第二附加验证方式对该用户进行附加验证,直到对该用户进行附加验证通过或者在当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数。第四预设时长和第三预设次数可以根据需要进行设置并更改,在本发明实施例中,对第四预设时长和第三预设次数不作具体限定;例如,第四预设时长可以半小时或者1小时,第三预设次数可以为3次或者5次。第一失败验证次数可以为附加验证的失败验证次数,也可以为身份验证的失败验证次数,也可以包括附加验证的失败验证次数和身份验证的失败验证次数。步骤305:服务器在附加验证通过时,基于目标验证方式和该用户标识,对该用户进行身份验证。目标验证方式可以为短信验证或者邮件验证。当目标验证方式为短信验证时,本步骤可以通过以下步骤(1)至(4)实现,包括:(1):服务器根据该用户标识,向该用户预留的第二终端标识指示的第二终端发送第一验证码。服务器中存储每个用户注册时预留的第二终端标识,第二终端标识可以为用户的手机号码;相应的,本步骤可以为:服务器根据该用户标识,获取该用户预留的第二终端标识;根据第二终端标识,向第二终端标识指示的第二终端发送第一验证码。(2):第二终端接收服务器发送的第一验证码,显示第一验证码。用户可以基于第一验证码,通过第一终端向服务器发送第二验证码。(3):服务器在当前时间之后的第五预设时长内接收到第二验证码,且第一验证码和第二验证码相同,服务器对该用户身份验证通过。如果在当前时间之后的第五预设时长内没有接收到第二验证码,或者第一验证码和第二验证码不相同,服务器对该用户身份验证不通过。第五预设时长可以根据需要进行设置并更改,在本公开实施例中,对第五预设时长不作具体限定。例如,第五预设时长可以为60秒或者90秒。第一验证码和第二验证码均为短信验证码,且第一验证码可以包括预设字数的字符,该字符可以为数字、字母或者汉字中的一种或者多种。预设字数可以根据需要进行设置并更改,在本发明实施例中,对预设字数不作具体限定。例如,预设字数可以为4或者6等。在本发明实施例中,由于如果用户为恶意用户,通过第一附加验证方式对用户进行附加验证。如果附加验证通过时,一般情况可以认为该用户不为自动化程序;如果附加验证不通过,继续通过附加验证方式进行验证,直到验证通过或者验证次数达到一定次数。由此可见,本发明实施例可以减少短信验证成本,减少了经济损失。当目标验证方式为邮件验证时,本步骤可以通过以下步骤(a)至(c)实现,包括:(a):服务器根据该用户标识,向该用户预留的邮箱地址对应的第三终端发送第五验证信息,其中,第五验证信息可以为登录链接或者重置密码链接。(b):第三终端接收第五验证信息,显示第五验证信息。用户可以点击第五验证信息中的链接以触发第三终端向服务器发送验证响应。(c):如果服务器在当前时间之后的第十一预设时长内接收到第三终端发送的验证响应,服务器确定对该用户身份验证通过;如果服务器在当前时间之后的第十一预设时长内没有接收到第三终端发送的验证响应,服务器确定对该用户身份验证不通过。第十一预设时长可以根据需要进行设置并更改,在本发明实施例中,对第十一预设时长不作具体限定;例如,第十一预设时长可以为2分钟或者5分钟等。进一步地,如果服务器对该用户身份验证不通过,确定用户在当前时间之前的第六预设时长内的第二失败验证次数;如果第二失败验证次数不大于第四预设次数,重新基于目标验证方式和该用户标识对用户进行身份验证,也即执行步骤(1)或者(a)。如果第二失败验证次数大于第四预设次数,执行步骤303。第六预设时长和第四预设次数可以根据需要进行设置并更改,在本发明实施例中,对第六预设时长和第四预设次数不作具体限定。例如,第六预设时长可以为1天或者半天。第四预设次数可以为3次或者5次。为了进一步增加恶意用户的时间成本,在本步骤中,服务器在对用户验证不通过时,服务器可以设置禁止重试时长,在该禁止重试时长内不允许该用户进行身份验证请求。相应的,方法还包括:服务器在基于第一附加验证方式对该用户附加验证不通过,或者对用户身份验证不通过时,确定该用户在当前时间之前的第七预设时长内的第三验证失败次数;根据第三失败验证次数,确定该用户的禁止重试时长;如果在该禁止重试时长内接收到第一终端发送的第二验证请求,忽略第二验证请求,该第二验证请求携带该用户标识。进一步地,在该禁止重试时长到达时,基于第一附加验证方式,对该用户进行附加验证。服务器中事先存储失败验证次数和禁止重试时长的对应关系;相应的,服务器根据第三失败验证次数,确定该用户的禁止重试时长的步骤可以为:服务器根据第三失败验证次数,从失败验证次数和禁止重试时长的对应关系中获取该用户的禁止重试时长。服务器中还可以存储基准时长,相应的,服务器根据第三失败验证次数,确定该用户的禁止重试时长的步骤可以为:服务器将第三失败验证次数和该基准时长的相乘,得到该用户的禁止重试时长。第七预设时长可以根据需要进行设置并更改,在本发明实施例中,对第七预设时长不作具体限定;例如,第七预设时长可以为1小时或者2小时等。进一步地,服务器在执行步骤305之前,判断在当前时间之前的第十二预设时长内接收到携带该用户标识的验证请求的第三次数;如果第三次数大于第五预设次数;设置禁止重试时长。如果第三次数不大于第五预设次数,执行步骤305。第十二预设时长和第五预设次数都可以根据需要进行设置并更改,在本发明实施例中,对第十二预设时长和第五预设次数都不作具体限定;例如,第十二预设时长可以为1小时或者半小时;第五预设次数可以为5次或者8次等。例如,参见图3-2,第一附加验证方式为推送挑战题目。服务器接收到第一验证请求时,根据该用户信息判断该用户是否为恶意用户。如果该用户为恶意用户,推送挑战题目;确定挑战题目是否通过;如果通过,后续流程;如果没通过,挑战次数是否超过第三预设次数m;如果超过第三预设次数m,设置禁止重试时长,在该禁止重试时长达到时,继续推送挑战题目。如果该用户不为恶意用户,正常验证码流程;确定重发次数是否超过第五预设次数k;如果重发次数超过第五预设次数k,推送挑战题目;如果重发次数没有超过第五预设次数k,确定验证码是否正确;如果正确,进行后续流程;如果不正确,验证码是否输错第四预设次数n;如果是,推送挑战题目;如果否,进行后续流程。进一步地,在对用户身份验证通过时,服务器执行目标操作。例如,当目标操作为登录操作时,服务器允许第一终端登录服务器。再如,当目标操作为修改密码操作时,服务器接收第一终端发送的登录密码,将已存储的该用户标识对应的登录密码修改为第一终端发送的登录密码。在本发明实施例中,在对用户进行身份验证时,先根据用户的用户信息确定该用户是否为恶意用户;如果该用户为恶意用户,基于第一附加验证方式对该用户进行附加验证,在基于第一附加验证方式对该用户附加验证通过时,才基于目标验证方式和该用户的用户标识,对该用户进行身份验证。由于增加了第一附加验证方式,因此,增加了恶意用户的验证成本,减少了对服务器的攻击。本发明实施例提供了一种身份验证装置,该装置应用在服务器中,用于执行上述身份验证方法中的服务器执行的步骤。参见图4,该装置包括:接收模块401,用于接收第一终端发送的第一验证请求,所述第一验证请求携带用户的用户信息和所述用户请求的目标验证方式,所述用户信息至少包括用户标识;确定模块402,用于根据所述用户信息,确定所述用户是否为恶意用户;附加验证模块403,用于如果所述用户为恶意用户,基于第一附加验证方式对所述用户进行附加验证,所述第一附加验证方式和所述目标验证方式不同;身份验证模块404,用于在基于所述第一附加验证方式对所述用户附加验证通过时,基于所述目标验证方式和所述用户标识,对所述用户进行身份验证。在一个可能的实现方式中,所述确定模块402,还用于根据所述用户标识,统计第一次数,所述第一次数为在当前时间之前的第一预设时长内接收到携带所述用户标识的验证请求的次数;如果所述第一次数大于第一预设次数,确定所述用户为恶意用户;和/或,所述确定模块402,还用于当所述用户信息还包括所述第一终端的第一终端标识,确定恶意终端标识库中是否存在所述第一终端标识;如果所述恶意终端标识库中存在所述第一终端标识,确定所述用户为恶意用户,所述恶意终端标识库中存储恶意用户使用的终端的终端标识;和/或,所述确定模块402,还用于当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识,统计第二次数,所述第二次数为在当前时间之前的第二预设时长内接收到所述第一终端发送的验证请求的次数;如果所述第二次数大于第二预设次数,确定所述用户为恶意用户;和/或,所述确定模块402,还用于当所述用户信息还包括所述第一终端的第一终端标识,根据所述第一终端标识和所述用户标识,统计用户数目,所述用户数目为在当前时间之前的第三预设时长内通过所述第一终端发送验证请求的用户数目;如果所述用户数目大于预设数目,确定所述用户为恶意用户。在一个可能的实现方式中,所述附加验证模块403,还用于向所述第一终端发送第一验证信息,并接收所述第一终端基于所述第一验证信息返回的第二验证信息;如果所述第一验证信息和所述第二验证信息匹配,确定基于所述第一附加验证方式对所述用户附加验证通过。在一个可能的实现方式中,所述附加验证模块403,还用于在基于所述第一附加验证方式对所述用户附加验证不通过时,基于第二附加验证方式对所述用户再次进行附加验证,直到附加验证通过或者在当前时间之前的第四预设时长内的第一失败验证次数达到第三预设次数。在一个可能的实现方式中,当所述目标验证方式为短信验证时,所述身份验证模块404,还用于根据所述用户标识,向所述用户预留的第二终端标识指示的第二终端发送第一验证码;如果在当前时间之后的第五预设时长内接收到第二验证码,且所述第一验证码和所述第二验证码相同,对所述用户身份验证通过;如果在当前时间之后的第五预设时长内没有接收到所述第二验证码,或者所述第一验证码和所述第二验证码不相同,对所述用户身份验证不通过。在一个可能的实现方式中,所述附加验证模块403,还用于如果对所述用户身份验证不通过,确定所述用户在当前时间之前的第六预设时长内的第二失败验证次数;所述身份验证模块404,还用于如果所述第二失败验证次数不大于第四预设次数,根据所述用户标识,向所述用户预留的第二终端标识指示的终端发送第三验证信息;所述附加验证模块403,还用于如果所述第二失败验证次数大于所述第四预设次数,基于第一附加验证方式对所述用户进行附加验证。在一个可能的实现方式中,所述装置还包括:忽略模块;所述确定模块402,还用于在基于所述第一附加验证方式对所述用户附加验证不通过,或者对所述用户身份验证不通过时,确定所述用户在当前时间之前的第七预设时长内的第三失败验证次数;所述确定模块402,还用于根据所述第三失败验证次数,确定所述用户的禁止重试时长;所述忽略模块,还用于如果在所述禁止重试时长内接收到所述第一终端发送的第二验证请求,忽略所述第二验证请求,所述第二验证请求携带所述用户标识。在本发明实施例中,在对用户进行身份验证时,先根据用户的用户信息确定该用户是否为恶意用户;如果该用户为恶意用户,基于第一附加验证方式对该用户进行附加验证,在基于第一附加验证方式对该用户附加验证通过时,才基于目标验证方式和该用户的用户标识,对该用户进行身份验证。由于增加了第一附加验证方式,因此,增加了恶意用户的验证成本,减少了对服务器的攻击。需要说明的是:上述实施例提供的身份验证装置在身份验证时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的身份验证装置与身份验证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图5是根据一示例性实施例示出的一种用于身份验证的服务器。参照图5,服务器500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述提取标签信息的方法中服务器所执行的功能。服务器500还可以包括一个电源组件526被配置为执行服务器500的电源管理,一个有线或无线网络接口550被配置为将服务器500连接到网络,和一个输入输出(i/o)接口558。服务器500可以操作基于存储在存储器532的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入服务器中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行提取标签信息的方法。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。由此,限定的“第一”、“第二”的特征可以明示或隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1