CN111949952A - 验证码请求处理方法及计算机可读存储介质 - Google Patents
验证码请求处理方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111949952A CN111949952A CN201910406272.4A CN201910406272A CN111949952A CN 111949952 A CN111949952 A CN 111949952A CN 201910406272 A CN201910406272 A CN 201910406272A CN 111949952 A CN111949952 A CN 111949952A
- Authority
- CN
- China
- Prior art keywords
- verification
- client
- verification code
- preset
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种验证码请求处理方法及计算机可读存储介质,方法包括:服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;对所述用户标识进行验证;若验证不通过,则下发虚假验证码至所述客户端;接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。本发明可干扰机器识别的学习行为,从而降低机器识别验证码的准确率。
Description
技术领域
本发明涉及验证码技术领域,尤其涉及一种验证码请求处理方法及计算机可读存储介质。
背景技术
验证码是一种区分用户是计算机还是人的公共全自动程序,可以防止恶意破解密码、刷票、论坛灌水等恶意行为,可以有效保障网站的安全和正常运行。但目前随着深度学习技术在图像处理技术上越来越强大的表现,已有通过机器识别和深度学习技术来实现验证码的全自动化识别的方案,因此,如何干扰机器对验证码的自动识别是目前有待解决的问题。
发明内容
本发明所要解决的技术问题是:提供一种验证码请求处理方法及计算机可读存储介质,可干扰机器识别的学习行为,从而降低机器识别验证码的准确率。
为了解决上述技术问题,本发明采用的技术方案为:一种验证码请求处理方法,其特征在于,包括:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
本发明的有益效果在于:当对客户端的用户标识验证不通过时,通过进行验证码假发,即下发虚假验证码,由于虚假验证码与其待匹配的匹配验证码不一致,因此即使机器识别出了正确的虚假验证码,服务端都会判定其验证失败;通过提高验证失败的比例,干扰机器识别的学习行为,从而降低机器识别验证码的准确率,进而有效防止机器对验证码的自动识别。本发明通过下发虚假验证码,提高了恶意请求的拦截率,并且通过干扰机器识别的学习行为,防止恶意攻击破解密码,有效保证数据安全性。
附图说明
图1为本发明的一种验证码请求处理方法的流程图;
图2为本发明实施例一的方法流程图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:服务端接收到客户端的验证码请求时,根据对应的请求数和历史验证失败率对用户标识进行验证,当验证其可能是恶意请求时,进行验证码假发。
请参阅图1,一种验证码请求处理方法,包括:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
从上述描述可知,本发明的有益效果在于:可干扰机器识别的学习行为,从而降低机器识别验证码的准确率,进而有效防止机器对验证码的自动识别。
进一步地,所述对所述用户标识进行验证具体为:
获取所述用户标识的请求数和验证失败率;
若同一用户标识在预设时间段内的请求数大于预设的第一阈值且验证失败率大于预设的第一比例,则判定验证不通过;
若同一用户标识在预设时间段内的请求数大于预设的第二阈值,则判定验证不通过;
若同一用户标识的请求数大于预设的第三阈值,则判定验证不通过;
若同一用户标识的验证失败率大于预设的第二比例,则判定验证不通过。
由上述描述可知,当预设时间段内的请求数大于预设阈值、验证失败率大于预设比例、总请求数大于预设阈值或历史验证失败率大于预设比例,则认为该用户标识发送的请求可能为恶意请求。
进一步地,所述对所述用户标识进行验证之后,进一步包括:
若验证通过,则下发真实验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。
由上述描述可知,当验证当前请求不为恶意请求时,则按照现有的验证码下发流程下发真实的验证码。
进一步地,所述下发虚假验证码至所述客户端具体为:
按照预设的时间周期生成预设数量的虚假验证码;
随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端。
由上述描述可知,由于生成的虚假验证码与匹配验证码不一致,因此当下发虚假验证码时,即使客户端返回了正确的虚假验证码,服务端也会判定其验证失败。
进一步地,所述客户端的用户标识为客户端的IP地址和/或用户账号。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
进一步地,所述对所述用户标识进行验证具体为:
获取所述用户标识的请求数和验证失败率;
若同一用户标识在预设时间段内的请求数大于预设的第一阈值且验证失败率大于预设的第一比例,则判定验证不通过;
若同一用户标识在预设时间段内的请求数大于预设的第二阈值,则判定验证不通过;
若同一用户标识的请求数大于预设的第三阈值,则判定验证不通过;
若同一用户标识的验证失败率大于预设的第二比例,则判定验证不通过。
进一步地,所述对所述用户标识进行验证之后,进一步包括:
若验证通过,则下发真实验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。
进一步地,所述下发虚假验证码至所述客户端具体为:
按照预设的时间周期生成预设数量的虚假验证码;
随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端。
进一步地,所述客户端的用户标识为客户端的IP地址和/或用户账号。
实施例一
请参照图2,本发明的实施例一为:一种验证码请求处理方法,可提高恶意请求的拦截率,有效防护网站,包括如下步骤:
S1:服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识,所述客户端的用户标识为客户端的IP地址或用户账号,进一步地,验证码请求数据还可以包括请求时间。
S2:服务端对所述用户标识进行验证,判断是否验证通过,若是,则执行步骤S3,若否,则执行步骤S4;具体地,服务端先获取所述用户标识的请求数和验证失败率,然后根据请求数和验证失败率进行以下判断:
判断同一用户标识在预设时间段内的请求数是否大于预设的第一阈值且验证失败率是否大于预设的第一比例,若是,则判定验证不通过;
判断同一用户标识在预设时间段内的请求数是否大于预设的第二阈值,若是,则判定验证不通过;
判断同一用户标识的累积总请求数是否大于预设的第三阈值,若是,则判定验证不通过;
判断同一用户标识的验证失败率是否大于预设的第二比例,若是,则判定验证不通过。
若上述判断的判断结果均为否,则判定验证通过。
其中,第一阈值<第二阈值<第三阈值,第一比例<第二比例。
例如,对于登录场景下的验证码请求,预设时间段可以为1分钟、5分钟或一天,第一阈值可以为5-10次,优选5次,第一比例可以为50%,第二阈值可以为30次、60次或1000次,第三阈值可以为一百万次(由于是登录场景,因此第三阈值可以尽量大),第二比例可以为70%。即若1分钟内同一用户标识的请求数大于5次且验证失败率大于50%,则判定验证不通过;若同一用户标识1分钟内的请求数大于30次或5分钟内的请求数大于60次或一天内的请求数大于1000次,则判定验证不通过;若同一用户标识的累积总请求数大于一百万次或全部请求的验证失败率大于70%,则判定验证不通过。
S3:服务端下发真实验证码至所述客户端。
S4:服务端下发虚假验证码至所述客户端。具体地,服务端预先按照预设的时间周期生成预设数量的虚假验证码,随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端;例如定期一次性生成100个虚假验证码,若当前周期内需下发虚假验证码,则随机从这100个虚假验证码选取一个进行下发。
S5:服务端接收客户端返回的验证码输入数据,并对所述验证码输入数据进行验证得到验证结果;即服务端对用户输入的验证码进行验证。
具体地,若下发的是真实验证码,则接收到客户端返回的验证码输入数据后,根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。若用户输入的验证码正确,则验证结果为验证通过。
若下发的是虚假验证码,则接收到客户端返回的验证码输入数据后,根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;由于虚假验证码与随机生成的匹配验证码不一致,因此当下发虚假验证码时,得到的验证结果均为验证失败。
进一步地,为了保证虚假验证码与匹配验证码不一致,分别通过不同的字符集合生成虚假验证码与匹配验证码,例如,虚假验证码通过字母字符集合生成,如aaaa,匹配验证码通过数字字符集合生成,如1234,或者通过符号字符集合生成,如@#¥%。
对于客户端来说,无法知道显示的验证码是否是虚假验证码,由于每次验证码验证需要重新刷新,且验证码会经过歪曲加线条等处理,所以客户端无法确定是否真的输错了。
S6:根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率,即记录各客户端的请求数据及结果数据,进一步地,还记录请求时间,并统计得到各IP地址或各用户账号的请求数以及验证失败率。
后续该客户端再次发送验证码请求数据时,即可根据该步骤记录统计的数据进行步骤S2的判断。进一步地,各用户标识的请求数和验证失败率的初始值均为0,也就是说,若同一用户标识是第一次向服务端请求验证码,则可直接执行步骤S3。
本实施例通过下发虚假验证码,对于恶意请求来说,可以提高验证失败的比例,可干扰机器识别的学习行为,降低机器识别验证码的准确率,防止恶意攻击破解密码,有效保证数据安全性。
实施例二
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
进一步地,所述对所述用户标识进行验证具体为:
获取所述用户标识的请求数和验证失败率;
若同一用户标识在预设时间段内的请求数大于预设的第一阈值且验证失败率大于预设的第一比例,则判定验证不通过;
若同一用户标识在预设时间段内的请求数大于预设的第二阈值,则判定验证不通过;
若同一用户标识的请求数大于预设的第三阈值,则判定验证不通过;
若同一用户标识的验证失败率大于预设的第二比例,则判定验证不通过。
进一步地,所述对所述用户标识进行验证之后,进一步包括:
若验证通过,则下发真实验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。
进一步地,所述下发虚假验证码至所述客户端具体为:
按照预设的时间周期生成预设数量的虚假验证码;
随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端。
进一步地,所述客户端的用户标识为客户端的IP地址和/或用户账号。
综上所述,本发明提供的一种验证码请求处理方法及计算机可读存储介质,当对客户端的用户标识验证不通过时,通过进行验证码假发,即下发虚假验证码,由于虚假验证码与其待匹配的匹配验证码不一致,因此即使机器识别出了正确的虚假验证码,服务端都会判定其验证失败;通过提高验证失败的比例,干扰机器识别的学习行为,从而降低机器识别验证码的准确率,进而有效防止机器对验证码的自动识别。本发明通过下发虚假验证码,提高了恶意请求的拦截率,并且通过干扰机器识别的学习行为,防止恶意攻击破解密码,有效保证数据安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种验证码请求处理方法,其特征在于,包括:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
2.根据权利要求1所述的验证码请求处理方法,其特征在于,所述对所述用户标识进行验证具体为:
获取所述用户标识的请求数和验证失败率;
若同一用户标识在预设时间段内的请求数大于预设的第一阈值且验证失败率大于预设的第一比例,则判定验证不通过;
若同一用户标识在预设时间段内的请求数大于预设的第二阈值,则判定验证不通过;
若同一用户标识的请求数大于预设的第三阈值,则判定验证不通过;
若同一用户标识的验证失败率大于预设的第二比例,则判定验证不通过。
3.根据权利要求1所述的验证码请求处理方法,其特征在于,所述对所述用户标识进行验证之后,进一步包括:
若验证通过,则下发真实验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。
4.根据权利要求1所述的验证码请求处理方法,其特征在于,所述下发虚假验证码至所述客户端具体为:
按照预设的时间周期生成预设数量的虚假验证码;
随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端。
5.根据权利要求1-4任一项所述的验证码请求处理方法,其特征在于,所述客户端的用户标识为客户端的IP地址和/或用户账号。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如下步骤:
服务端接收客户端发送的验证码请求数据,所述验证码请求数据包括客户端的用户标识;
对所述用户标识进行验证;
若验证不通过,则下发虚假验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据随机生成的匹配验证码,对所述验证码输入数据进行验证,得到验证结果;
根据所述客户端的验证码请求数据及其对应的验证结果,统计所述用户标识的请求数以及验证失败率。
7.根据权利要求6所述的计算机可读存储介质,其特征在于,所述对所述用户标识进行验证具体为:
获取所述用户标识的请求数和验证失败率;
若同一用户标识在预设时间段内的请求数大于预设的第一阈值且验证失败率大于预设的第一比例,则判定验证不通过;
若同一用户标识在预设时间段内的请求数大于预设的第二阈值,则判定验证不通过;
若同一用户标识的请求数大于预设的第三阈值,则判定验证不通过;
若同一用户标识的验证失败率大于预设的第二比例,则判定验证不通过。
8.根据权利要求6所述的计算机可读存储介质,其特征在于,所述对所述用户标识进行验证之后,进一步包括:
若验证通过,则下发真实验证码至所述客户端;
接收客户端返回的验证码输入数据,并根据所述真实验证码对所述验证码输入数据进行验证,得到验证结果。
9.根据权利要求6所述的计算机可读存储介质,其特征在于,所述下发虚假验证码至所述客户端具体为:
按照预设的时间周期生成预设数量的虚假验证码;
随机获取一虚假验证码,并下发所述一虚假验证码至所述客户端。
10.根据权利要求6-9任一项所述的计算机可读存储介质,其特征在于,所述客户端的用户标识为客户端的IP地址和/或用户账号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910406272.4A CN111949952B (zh) | 2019-05-15 | 2019-05-15 | 验证码请求处理方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910406272.4A CN111949952B (zh) | 2019-05-15 | 2019-05-15 | 验证码请求处理方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949952A true CN111949952A (zh) | 2020-11-17 |
CN111949952B CN111949952B (zh) | 2022-12-09 |
Family
ID=73336635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910406272.4A Active CN111949952B (zh) | 2019-05-15 | 2019-05-15 | 验证码请求处理方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949952B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200389319A1 (en) * | 2019-06-10 | 2020-12-10 | Docusign, Inc. | System and method for electronic claim verification |
CN112948812A (zh) * | 2021-03-29 | 2021-06-11 | 天津车之家数据信息技术有限公司 | 一种验证码的分配方法、计算设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318807A1 (en) * | 2009-06-15 | 2010-12-16 | Hon Hai Precision Industry Co., Ltd. | System and method for generating a disguised password based on a real password |
CN105046141A (zh) * | 2015-06-12 | 2015-11-11 | 北京京东尚科信息技术有限公司 | 一种自适应的验证码设计方法及系统 |
CN107769929A (zh) * | 2017-10-25 | 2018-03-06 | 中国银行股份有限公司 | 验证码复杂程度调整方法和服务器 |
-
2019
- 2019-05-15 CN CN201910406272.4A patent/CN111949952B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318807A1 (en) * | 2009-06-15 | 2010-12-16 | Hon Hai Precision Industry Co., Ltd. | System and method for generating a disguised password based on a real password |
CN105046141A (zh) * | 2015-06-12 | 2015-11-11 | 北京京东尚科信息技术有限公司 | 一种自适应的验证码设计方法及系统 |
CN107769929A (zh) * | 2017-10-25 | 2018-03-06 | 中国银行股份有限公司 | 验证码复杂程度调整方法和服务器 |
Non-Patent Citations (1)
Title |
---|
李欢等: "基于随机顺序的图形验证码改进算法设计", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200389319A1 (en) * | 2019-06-10 | 2020-12-10 | Docusign, Inc. | System and method for electronic claim verification |
CN112948812A (zh) * | 2021-03-29 | 2021-06-11 | 天津车之家数据信息技术有限公司 | 一种验证码的分配方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111949952B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330850B (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
US8171287B2 (en) | Access control system for information services based on a hardware and software signature of a requesting device | |
US10484426B2 (en) | Auto-generated synthetic identities for simulating population dynamics to detect fraudulent activity | |
CN106453205B (zh) | 一种身份验证方法和装置 | |
CN109660556B (zh) | 基于信息安全的用户登陆方法、装置、设备和存储介质 | |
JP2018501567A (ja) | 装置検証方法及び機器 | |
EP3298531B1 (en) | Brute force attack prevention system | |
CN107438049B (zh) | 一种恶意登录识别方法及装置 | |
CN103795724A (zh) | 一种基于异步动态口令技术的保护账户安全的方法 | |
CN103853950A (zh) | 一种基于移动终端的认证方法及移动终端 | |
EP2514135B1 (en) | Systems and methods for authenticating a server by combining image recognition with codes | |
CN102609656A (zh) | 一种基于图片验证的USB Key安全增强方法及系统 | |
CN111949952B (zh) | 验证码请求处理方法及计算机可读存储介质 | |
TW201544983A (zh) | 資料通訊方法和系統及客戶端和伺服器 | |
WO2015062441A1 (zh) | CGI web界面下的多会话验证码的产生及验证方法 | |
CN101207483A (zh) | 一种双向双因子认证方法 | |
US11483166B2 (en) | Methods and devices for enrolling and authenticating a user with a service | |
CN111200591A (zh) | 多重人机验证方法、装置、设备和存储介质 | |
JP6842951B2 (ja) | 不正アクセス検出装置、プログラム及び方法 | |
US10255558B1 (en) | Managing knowledge-based authentication systems | |
CN111740938B (zh) | 信息处理方法、装置、客户端和服务器 | |
CN109981268B (zh) | 一种防破解的验证码生成方法 | |
EP3756332B1 (en) | Automated account recovery using trusted devices | |
CN114257451A (zh) | 验证界面更换方法、装置、存储介质及计算机设备 | |
CN113794568A (zh) | 接口安全验证方法、访问接口的方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |