CN105046141B - 一种自适应的验证码设计方法及系统 - Google Patents
一种自适应的验证码设计方法及系统 Download PDFInfo
- Publication number
- CN105046141B CN105046141B CN201510325630.0A CN201510325630A CN105046141B CN 105046141 B CN105046141 B CN 105046141B CN 201510325630 A CN201510325630 A CN 201510325630A CN 105046141 B CN105046141 B CN 105046141B
- Authority
- CN
- China
- Prior art keywords
- identifying code
- session
- request
- user
- character
- 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.)
- Active
Links
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
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
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)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种自适应的验证码设计方法及系统,在采用自动升级策略应对非法请求时尽可能的不去影响其他正常用户,在保障系统安全性的同时能很好的保障用户的体验度,提高了验证码的验证效率。该方法包括:将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符;根据生成的所述会话标识符,从缓存中读取该会话标识符的验证码安全等级,之后生成验证码;根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
Description
技术领域
本发明涉及计算机网络技术领域,尤其是涉及一种自适应的验证码设计方法及系统。
背景技术
在互联网应用中,为了防止恶意用户通过程序进行大量自动提交的非法操作,大多数网站都采用了验证码技术来防止系统被恶意攻击,从而达到保护系统正常工作的目的。然而,随着人工智能的发展以及计算机处理能力的提升,简单的图片验证码的识别成功率也越来越高。为了防止验证码被机器人破解,验证码的难度变得越来越高,这样的确能防止机器人的自动识别,但是,同时人肉眼识别的难度也会增加,严重影响用户的体验。所以,如何兼顾用户使用方便性和降低验证码被机器人识别的概率就成为互联网行业一个亟待解决的技术问题。
目前,验证码的设计根据是否具有不同的难度级别可以分为两类:
一、没有识别难度等级策略。也就是说这样的验证码系统没有难度识别等级的分别,用户使用请求验证时图片出现的概率是随机的,这里大致可分为以下几类:
(1)使用最基本的、最流行的是一种以随机字符、数字作为图片内容的验证码。在随机字符的情况下可以根据需要添加相应的干扰元素,比如:背景色、干扰线等,进而生成验证码。
(2)以专业知识作为图片内容的验证码。比如:数学专业性比较强的网站可以采用数学中常用的积分来作为验证码内容,验证码需要积分的结果;电子类专业性比较强的网站可以采用类似“电流的单位是欧姆”,用户只需要判断正确性就行。
(3)以复杂的图像作为验证码内容。比如一幅完整的带有图案的图片,中间对一个圆形区域做一定的旋转,验证时需要旋转中间的区域使图案复原成一幅完整的图像;或者是一种带有几只小狗的图案,用户需要回答图案中有几只小狗等。
(4)使用集中干扰的综合体,比如,把采用阴影干扰、鱼眼干扰、扭曲干扰等策略结合在一起组成一套验证码系统,用户请求时随机选出一种策略进行服务。
二、具有识别难度等级策略。也就是说验证码会根据具体的业务需要以及用户的使用情况去选择相应识别难度等级的图片验证码进行处理相关的业务。
现有的具有验证码等级区别的系统非常的少,而且这些系统都仅仅是把几种干扰策略不同的验证码结合到一块,不同于(4)中的是这些系统赋予每一种验证码一个识别等级即安全等级,然后根据业务方需求和用户使用情况进行安全策略的选择。
对于图片验证码,现有的看似较为复杂的干扰因素其实对机器人起到的干扰作用非常小,而某些看似简单的干扰因素计算机却很难识别。对于传统的验证码系统来说,背景色所起到的作用几乎可以忽略不计,为了肉眼能较好的识别,字符的颜色肯定要和背景色明显的区分开,如果不能很好的区分开,人肉眼识别的难度就会很大,影响用户体验,但是如果背景色容易区分的话,那么那些看似复杂的背景色对于计算机来说非常容易,这样背景色就起不到应有的作用,并且复杂的背景色对一些色弱、色盲用户具有严重的干扰作用,不利于他们的使用;一些验证码采用字符扭曲作为干扰因素,现有的扭曲都是采用字符旋转的方式进行的,由于每个字符选装的方向不一样,这样肉眼识别的时候就会较为困难;对于专业性比较强的验证码使用的局限性太大,毕竟太多人不具备较专业的知识,即使具备相关专业知识的人也不愿意去使用太复杂的验证码,而且有一些专业性比较强、相对简单的问题在网上都能找到答案,这样就不能达到验证码应该起到的作用。
对于一些采用更复杂因素的验证码,的确能有效的防止机器识别的概率,但是每次需要验证码的时候人肉眼识别的难度也会相应的增加,尤其是对于一些具有色盲或色弱的人们他们识别复杂图形的能力会更弱。
而且更为重要的是,现有的验证码系统识别难度都是固定的,也就是说不管是上述的哪一种验证码系统采用的干扰策略都是一样的,如果要保证人的体验就不能保障验证码的低识别率,否则反之。这样的话就不能同时兼顾保障系统安全和人的体验。
在现有的具有不同安全等级的验证码系统中,验证码难度等级升级策略一般是采用单一的指标(比如请求次数)来判断用户操作的频繁度,然后将该指标与系统中设定的不同难度等级的阈值进行比较,以确定生成验证码的相应难度等级。但是现有验证码系统中,阈值的设定大多是针对全部应用而言的,也就是说当用户在该系统中的一个应用中的请求次数达到阈值时,该用户针对该系统中其他应用的请求验证码难度都会随之升级。
另外,在现有的具有不同安全等级且能根据用户行为等自动升级的验证码系统中都是采用IP进行统计限制的,比如说某个IP规定时间内访问量大于了某个阈值,就对该IP使用更高识别难度级别的验证提供服务,这样的话影响范围太大。因为一般的大学或一些大的公司外网IP的数量是很少的,也就是说内网中的很多用户在使用同一个外网IP进行网络的访问,假如采用上述验证码升级策略的话,如果某一个用户大量请求了某个服务而导致系统对该IP使用更高级别的验证服务,其他人再去请求相同的服务时也会使用同样安全等级的验证码,而等级越高识别难度越高,这样的话会严重影响用户的体验。
由上述可知,现有的验证码设计方法有如下缺点:
1.现有验证码干扰策略对机器的影响较小,反而大大地影响了人的识别,不能同时兼顾保障系统安全和人的体验;
2.验证码难度等级升级策略采用单一的指标进行,如果出现网速不好重复点击提交请求,就会造成验证码难度等级提高,影响用户的积极性和体验;
3.验证码难度等级升级策略中的阈值设定大多是针对全部应用而言的,用户在系统的一个应用中的验证码难度升级会导致在其他应用中的验证码难度随之增加,不能很好的保证用户体验;
4.现有的具有不同安全等级且能根据用户行为等自动升级的验证码系统中都是采用IP进行统计限制的,对于外网IP的数量是很少的大学或大公司来说,影响范围太大,严重影响用户操作。
发明内容
有鉴于此,本发明提供一种自适应的验证码设计方法及系统,既能保证用户体验,又能确保系统安全性。其在采用自动升级策略应对非法请求时尽可能的不去影响其他正常用户。其是在现有的验证码基础上进行了改进,采用根据用户使用情况而采用相应识别难度的验证码生成策略,在保障系统安全性的同时能很好的保障用户的体验度,提高了验证码的验证效率,较好的体现了验证码设计的初衷。
为实现上述目的,根据本发明的一个方面,提供了一种自适应的验证码设计方法。
一种自适应的验证码设计方法,包括:将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符;根据生成的所述会话标识符,从缓存中读取该会话标识符的验证码安全等级,之后生成验证码;根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
可选地,所述运算为hash运算。
可选地,所述用户的唯一标识包括:在能得到用户名的情况下,所述用户的唯一标识为用户的用户名;在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。
可选地,生成会话标识符之前,还包括:对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
可选地,从缓存中读取该会话标识符的验证码安全等级之前,还包括:根据该会话标识符的相应参数信息进行验证码安全等级判定。
可选地,所述相应参数信息包括:相应的请求次数和请求比例信息。
可选地,所述相应参数信息包括如下中的几种:未知业务标识码请求次数及比例;两次验证码请求小于最小时间间隔次数及比例;超过请求次数上限的次数及比例;验证码验证错误次数及比例;验证码过期次数及比例;已请求验证码次数及比例。
可选地,从缓存中读取该会话标识符的验证码安全等级之前,还包括:判断所述生成的会话标识符是否合法;判断缓存中是否存在所述合法的会话标识符;以及如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新。
可选地,将该会话标识符对应的参数信息进行更新的步骤包括:判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
可选地,所述验证码由字符和干扰线组成。
可选地,所述字符是从字符库中随机取出的,并且每一个字符的字体和字符间距都是随机的。
可选地,所述干扰线的颜色和所述字符的颜色相同。
可选地,所述字符的长度和所述干扰线的干扰强度随着所述验证码安全等级的变化而变化。
可选地,所述验证码安全等级包括:第一级,所述第一级采用第一长度的字符串;第二级,所述第二级采用所述第一长度的字符串以及具有第一干扰强度的干扰线;第三级,所述第三级采用第二长度的字符串以及具有所述第一干扰强度的干扰线,其中所述第二长度大于所述第一长度;第四级,所述第四级采用所述第二长度的字符串以及具有第二干扰强度的干扰线,其中所述第二干扰强度大于所述第一干扰强度。
根据本发明的另一方面,提供了一种自适应的验证码设计系统。
一种自适应的验证码设计系统,包括:会话生成模块,用于将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符;验证码生成模块,用于根据生成的所述会话标识符,从缓存中读取该会话标识符的验证码安全等级,之后生成验证码;验证码验证模块,用于根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
可选地,所述运算为hash运算。
可选地,所述用户的唯一标识包括:在能得到用户名的情况下,所述用户的唯一标识为用户的用户名;在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。
可选地,所述会话生成模块还用于:对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
可选地,进一步包括风控模块,用于:根据该会话标识符的相应参数信息进行验证码安全等级判定。
可选地,所述相应参数信息包括:相应的请求次数和请求比例信息。
可选地,所述相应参数信息包括如下中的几种:未知业务标识码请求次数及比例;两次验证码请求小于最小时间间隔次数及比例;超过请求次数上限的次数及比例;验证码验证错误次数及比例;验证码过期次数及比例;已请求验证码次数及比例。
可选地,所述验证码生成模块还用于:判断所述生成的会话标识符是否合法;判断缓存中是否存在所述合法的会话标识符;以及如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新。
可选地,所述验证码生成模块将该会话标识符对应的参数信息进行更新还包括:判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
可选地,所述验证码由字符和干扰线组成。
可选地,所述字符从字符库中随机取出的,并且每一个字符的字体和字符间距都是随机的。
可选地,所述干扰线的颜色和所述字符的颜色相同。
可选地,所述字符的长度和所述干扰线的干扰强度随着所述验证码安全等级的变化而变化。
可选地,所述验证码安全等级包括:第一级,所述第一级采用第一长度的字符串;第二级,所述第二级采用所述第一长度的字符串以及具有第一干扰强度的干扰线;第三级,所述第三级采用第二长度的字符串以及具有所述第一干扰强度的干扰线,其中所述第二长度大于所述第一长度;第四级,所述第四级采用所述第二长度的字符串以及具有第二干扰强度的干扰线,其中所述第二干扰强度大于所述第一干扰强度。
根据本发明的技术方案,将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算生成会话标识符,由于每个业务都有不同的业务标识符,且每个用户的唯一标识也不同,由此生成的会话标识符就可以针对每个用户的不同业务,这样在进行验证码难度等级升级时,所设定的阈值就可以针对不同的应用进行设置,且每个用户请求不同应用的验证码难度等级不相关,从而避免了用户在系统的一个应用中的验证码难度升级而导致在其他应用中的验证码难度随之增加及传统采用IP进行统计限制时的不合理。
在验证码安全等级的判定中,包含多个参数并根据用户请求情况更新,可以避免单一参数进行限制时的片面性,实现了多角度记录用户行为,从而可以达到在验证码难度等级升级时更为合理,阈值设置更为灵活。
此外,本发明的验证码仅由字符和与字符颜色相同的干扰线组成,通过改变字符的长度、字符间距、字体和干扰线的干扰强度等来生成不同安全等级的验证码,既能保证人肉眼识别率较高,不会出现不同难度的验证码过渡太大的情况,又能降低机器的识别率。从而实现了既能保证系统安全又不影响人的体验度。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种自适应的验证码设计方法的主要步骤示意图;
图2是根据本发明实施例的一种自适应的验证码设计方法的验证码生成模块工作流程图;
图3是根据本发明实施例的一种自适应的验证码设计系统的主要模块示意图;
图4是根据本发明实施例的一种自适应的验证码设计系统的各模块在基本工作过程中数据交互关系的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种自适应的验证码设计方法的主要步骤示意图。由图1可知,本发明的自适应的验证码设计方法主要包括如下的步骤S11至步骤S13。
步骤S11:将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符。其中,所述运算可以为hash运算,也可以为其他的算法,例如直接拼接,或者采用某些开发软件自带的算法等,只要可以生成固定长度的字符串就可以。生成的固定长度的字符串,用于标识一个应用中的一个用户。
所述用户的唯一标识的确定包括两种情况:
1.在能得到用户名的情况下,所述用户的唯一标识为用户的用户名。无论用户是处在登陆状态还是非登录状态,只要在能直接或者间接拿到用户名的情况下,就取用户名作为用户的唯一标识。比如当前业务是像注册、找回密码这样的业务就可以把输入框中能标识用户的输入作为用户的唯一标识。
2.在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。因为在同一纳秒时刻进行同样业务操作的人是很少的,或者同一时刻在同一线程进行业务操作的人是固定的,这样能更精确的提供验证码的升级服务,在防止部分用户非法操作的同时最大化的避免对其他用户的影响。因为会话标识符的限制不但精确到了具体的某个应用,而且最大可能的具体到了人,避免了单单以IP作为限制的不合理性。
例如,正常情况下每一个用户在一家电商网站每一个服务下都使用正常级别的验证码服务,而用户A大量刷取抢购业务中某款商品导致系统把该用户在抢购业务中的验证码的安全等级升到了最高级别,就是说用户A在抢购业务中的验证码使用的最难识别的验证码服务,但该用户在其它业务应用(比如使用优惠券)下还可以使用正常级别的验证码;其他正常用户在抢购务服务中使用的验证码服务不受其影响也可以继续使用正常级别下的验证码。
在生成会话标识符之前,还需要对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
凡是请求验证码服务的业务都有唯一的业务标识符,系统在提供验证码服务时会检测请求方的业务标识符,以排除非法请求,从而提高系统的安全性。例如:当通过网关直接调用验证码时就没有业务ID,此即为非法请求,系统将不提供验证码服务。同时,业务标识符能使调用验证码服务的各个业务彼此分离,从而可以对各个业务采用不同的安全策略,进而保障系统的稳定性。例如:一家大型电商网站中包括有很多子业务,而这些子业务账号是互通的,不能因为一个子系统而影响整个系统,一般情况下也不会因为用户在某个子系统中有非法请求而限制该用户对整个系统使用(当然,如果确实有需求可以进行设置)。
步骤S12:根据生成的所述会话标识符,从缓存中读取该会话标识符的验证码安全等级,之后生成验证码。
根据前述的步骤S11生成的会话标识符,在从缓存中读取该会话标识符的验证码安全等级之前,还需要根据该会话标识符的相应参数信息进行验证码安全等级判定。所述相应参数信息包括相应的请求次数和请求比例信息,主要有如下中的几种:未知业务标识码请求次数及比例、两次验证码请求小于最小时间间隔次数及比例、超过请求次数上限的次数及比例、验证码验证错误次数及比例、验证码过期次数及比例、已请求验证码次数及比例等。
在从缓存中读取该会话标识符的验证码安全等级之前,还需要进行以下的操作:首先判断所述生成的会话标识符是否合法;再判断缓存中是否存在所述合法的会话标识符;以及如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新。将参数信息进行更新的步骤包括:先判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;之后,判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
进行完上述的操作后,紧接着就会根据从缓存中读取到的该会话标识符的验证码安全等级进行验证码的生成。
本发明实施例中,验证码由字符和干扰线组成。其中,字符是从字符库中随机取出的,优选地,字符可以是从已经删除了诸如“0”和“O”或“1”和“l”的易混淆字母、数字的字符库中随机取出的。而且,每一个字符的字体和字符间距都是随机的,这样能在保证肉眼具有较高识别率的同时增加计算机程序自动识别的难度。在本发明中干扰线的颜色和所述字符的颜色相同,从而可以防止自动识别程序对干扰线的去除。字符的长度和干扰线的干扰强度随着验证码安全等级的变化而变化。
本发明验证码的安全等级可以划分为多个级别,并且级别越高识别难度越大或越小。例如,可以将验证码的安全等级划分为四个级别,并且随着级别的增加,识别难度也增加,具体构成如下:
第一级,采用第一长度的字符串;
第二级,采用第一长度的字符串以及具有第一干扰强度的干扰线;
第三级,采用第二长度的字符串以及具有第一干扰强度的干扰线,其中第二长度大于第一长度;
第四级,采用第二长度的字符串以及具有第二干扰强度的干扰线,其中第二干扰强度大于第一干扰强度。
本领域技术人员可以理解,以上验证码的安全等级的构成仅是示例性的。还可以有很多不同的构成方式。例如,第一级与第二级以及第三级和第四级的字符串可以采用不同长度。类似地,第二级与第三级的干扰线可以采用不同的干扰强度,并且第一级还可以采用字符串和具有某个干扰强度的干扰线两者。
同时,在进行字符渲染的过程中,会从已经存在的字体库中随机的选取一种字体对每一个字符进行渲染,且字符之间的间距是可以变化的,字符间距会配合其它干扰因素使用到相关的安全级别的验证码中。通过这种方法,本发明在仅选用字符和干扰线的情况下就可以生成不同难度等级的验证码,且本发明中所生成的验证码可以保证人肉眼识别率较高,且不会出现不同难度的验证码过渡太大的情况;同时,机器的识别率并不高。从而实现了既能保证系统安全又不影响人的体验度。
步骤S13:根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
根据步骤S11中生成的会话标识符和步骤S12中生成的验证码对用户输入的验证码进行验证,如果用户输入的验证码正确则进行相应的系统响应,否则反之。同时,还对该会话标识符对应的参数信息进行更新。在各业务对用户输入的验证码进行验证时,首先会在缓存中查找是否存在该会话标识符,如果不存在则会提示用户验证错误,会话已经过期;如果存在则取出其对应的验证码与用户输入的验证码进行比较,如果相同会响应用户操作,同时对缓存中该会话标识符对应的表示验证正确的次数增1;如果错误则会提示用户验证码输入错误,并对该会话标识符对应的表示验证码验证错误的次数增1。如果缓存中该会话标识符的验证码已经过期(一般情况下,验证码是有有效期的,必须在规定时间被验证),会提示用户输入的验证码已过期,并对该会话标识符所对应的表示验证码过期的次数增1。每次验证操作之后都会删除相应会话标识符的验证码,以防止用户的暴力破解操作。
由步骤S11至步骤S13可以看出,将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算生成会话标识符,由于每个业务都有不同的业务标识符,且每个用户的唯一标识也不同,由此计算得出的会话标识符就可以针对每个用户的不同业务,这样在进行验证码难度等级升级时,所设定的阈值就可以针对不同的应用进行设置,且每个用户请求不同应用的验证码难度等级不相关,从而避免了用户在系统的一个应用中的验证码难度升级而导致在其他应用中的验证码难度随之增加及传统采用IP进行统计限制时的不合理。
在验证码安全等级的判定中,包含多个参数并根据用户请求情况更新,可以避免单一参数进行限制时的片面性,实现了多角度记录用户行为,从而可以达到在验证码难度等级升级时更为合理,阈值设置更为灵活。
此外,本发明的验证码仅由字符和与字符颜色相同或相近的干扰线组成,通过改变字符的长度、字符间距、字体和干扰线的干扰强度等来生成不同安全等级的验证码,既能保证人肉眼识别率较高,不会出现不同难度的验证码过渡太大的情况,又能降低机器的识别率。从而实现了既能保证系统安全又不影响人的体验度。
图2是根据本发明实施例的一种自适应的验证码设计方法的验证码生成模块工作流程图。
如图2所示,当用户请求访问页面时,会触发验证码请求,本发明的验证码生成模块在接收到验证码请求(步骤S20)后,会读取会话生成模块对用户此次请求所生成的会话标识符(步骤S21),之后进行相关数据的更新及验证码生成。读取会话标识符后,首先判断该会话标识符是否合法(步骤S22),例如可通过判断该会话标识符的长度是否为规定的长度等方法来进行判断。如果该会话标识符不合法,则返回错误标识,不提供服务;如果合法,则继续下一步判断,查看缓存中是否存在该会话标识符(步骤S23),如果不存在,则认为该会话标识符已过期,返回错误标识,提示用户该会话标识符已过期;如果存在,就从缓存中取出该会话标识符对应的所有数据,紧接着进行如下一系列的判断。
首先判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值(步骤S24),比如200ms,正常用户通常情况下两次验证码请求之间的时间间隔是不会小于该阈值的。如果不小于该阈值,则不修改参数信息;如果小于该阈值,就将两次验证码请求小于最小时间间隔次数的值增1(步骤S25)。
之后判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限(步骤S26),如果超过该次数上限,将已请求验证码次数置1(步骤S27),并将超过请求次数上限的次数增1(步骤S28)。
执行完上述判断后,验证码生成模块紧接着会从缓存中读取该会话标识符的验证码安全等级,并生成验证码(步骤S29)。
图3是根据本发明实施例的一种自适应的验证码设计系统的主要模块示意图。如图3所示,本发明实施例中的自适应的验证码设计系统3主要包括会话生成模块31、验证码生成模块32及验证码验证模块33。
会话生成模块31,用于将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符。其中,所述运算可以为hash运算。所述用户的唯一标识包括:在能得到用户名的情况下,所述用户的唯一标识为用户的用户名;在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。
会话生成模块31还可以用于:对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
验证码生成模块32,用于根据生成的所述会话标识符,从缓存中读取该会话标识符的验证码安全等级,之后生成验证码。
本发明实施例中的自适应的验证码设计系统3还可以包含风控模块(图中未示出),用于根据该会话标识符的相应参数信息进行验证码安全等级判定。所述相应参数信息包括:相应的请求次数和请求比例信息,主要包括如下中的几种:未知业务标识码请求次数及比例、两次验证码请求小于最小时间间隔次数及比例、超过请求次数上限的次数及比例、验证码验证错误次数及比例、验证码过期次数及比例、已请求验证码次数及比例等。
验证码生成模块32还可以用于通过先判断所述生成的会话标识符是否合法,再判断缓存中是否存在所述合法的会话标识符,如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新的方式来判断是否进行验证码生成及用户参数信息的更新。
验证码生成模块32将该会话标识符对应的参数信息进行更新包括两个步骤:判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
验证码生成模块32所生成的验证码由字符和干扰线组成。其中,字符从字符库中随机取出的,并且每一个字符的字体和字符间距都是随机的。干扰线的颜色和所述字符的颜色相同。所述字符的长度和所述干扰线的干扰强度随着所述验证码安全等级的变化而变化。
验证码生成模块32所生成的验证码安全等级包括:
第一级,所述第一级采用第一长度的字符串;
第二级,所述第二级采用所述第一长度的字符串以及具有第一干扰强度的干扰线;
第三级,所述第三级采用第二长度的字符串以及具有所述第一干扰强度的干扰线,其中所述第二长度大于所述第一长度;
第四级,所述第四级采用所述第二长度的字符串以及具有第二干扰强度的干扰线,其中所述第二干扰强度大于所述第一干扰强度。
验证码验证模块33,用于根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
本发明实施例中的自适应的验证码设计系统3还可以包含配置模块(图中未示出),用于配置系统参数,例如可以在此模块配置每一个子系统各个验证码安全等级使用的阈值(本设计采用的是请求次数和比例来共同确定的)以及该安全等级所对应的验证码生成所需要的参数,如字符串长度、是否采用干扰线策略、字符间距等。
本发明实施例中的自适应的验证码设计系统3还可以包含缓存模块(图中未示出),用于存储用户行为数据。
以下参考图4是以包含配置模块、缓存模块及风控模块的情形为例,再对本发明实施例的一种自适应的验证码设计系统的基本工作过程加以说明。图4是根据本发明实施例的一种自适应的验证码设计系统的各模块在基本工作过程中数据交互关系的示意图。
在进行验证码请求操作之前,可以根据需要先在配置模块配置参数,如:该系统各个业务的业务标识符;每个子系统各个验证码安全等级使用的阈值以及该安全等级所对应的验证码图片生成所需要的参数,如字符串长度、是否采用干扰线策略、字符间距等;以及本发明的验证码设计系统针对的是各个业务还是全部业务等。之后,将配置模块所设置的参数保存在风控模块中。
风控模块存在于redis中,redis是一个内存数据库,具有较快的访问速度。将配置模块中的针对各业务相关配置参数直接存到redis,实时的把用户的行为数据存到redis,而且定时从redis读取各个业务的参数配置数据到缓存模块中,这样能加快各业务配置参数的读取时间。用户的每一次请求都会在风控模块做相应的记录,根据配置模块的设定,当某个参数或某些参数组合满足某些条件时就可以根据具体的业务采用相应的验证码安全等级去生成验证码。比如当验证码验证错误3次时,采用一种识别难度的验证码生成策略,当验证码验证错误5次时,采用更高识别难度的验证码生成策略等,即:根据用户使用验证码的具体情况改变验证码的识别难度,这样能防止非正常用户的非法操作,而充分保证正常用户的体验。
风控模块的验证码难度等级升级策略默认是针对一个用户在某个业务中进行限制的,就是指对特定用户的不同应用是互不影响的,这样能保证在一个应用被限制的时候不影响该用户在其他应用的体验。当然,如果有需要可以在配置系统中进行设置,从而使同一个用户采用全局策略,也就是说针对同一个用户的所有业务采用同样的验证码难度等级,如果一个用户在任意一个子系统进行非法操作,则整个系统都会采用与该子系统相同的验证码安全策略,这时会话标识符的生成就由用户唯一标识pin码经过hash运算得到的一个固定长度的字符串。
缓存模块在本发明实施例中就是指部署验证码服务的服务器内存,在进行用户行为数据存储的过程中能大幅度的提高访问速度。缓存模块的数据是定时的从风控模块获取的,这样能保证服务器宕机或其它异常情况下每一个应用参数的获取。
当接收到用户发出的验证请求后,会话生成模块会先判断该请求的业务标识符是否合法,如果合法,则根据用户的唯一标识pin码进行hash运算,得到固定长度的字符串,生成会话标识符。
验证码生成模块根据读取的会话标识符,先判断该会话标识符是否合法,如果合法则从缓存查看该会话标识符是否存在,如果不存在则认为其已经过期,返回请求方相应的系统错误代码;否则就从缓存模块取出该会话标识符对应的所有数据,紧接着进行一系列的判断。首先判断本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值(比如200ms,正常用户通常情况下两次验证码请求之间的时间是不会小于该阈值的),如果小于,就将风控模块中两次验证码请求小于最小时间间隔次数的值增1,否则不增加;之后判定该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将缓存系统中已请求验证码次数置1,并对超过请求次数上限的次数增1。紧接着就会根据从缓存中读取的该会话标识符的验证码安全等级进行验证码的生成。
本发明实施例中验证码总共分为4级,由字符和干扰线组成。验证码生成模块可以包括4个单元:字符生成单元,用于根据配置模块设置的各参数信息及风控模块提供的验证码难度等级,生成验证码的字符部分;字符渲染单元,用于对字符生成单元生成的字符进行渲染;干扰生成单元,用于根据配置模块设置的各参数信息及风控模块提供的验证码难度等级,生成验证码的干扰部分;干扰渲染单元,用于对干扰生成单元生成的干扰线进行渲染。经过上述验证码生成模块,可生成该会话标识符对应的验证码。
验证码验证模块是对用户输入的验证码进行验证,如果用户输入的验证码正确则返回相应的系统代码,否则反之。在各业务调用该模块对用户输入的验证码进行验证时必须提供会话标识符和对应的验证码(图片验证码中的字符串)。验证码验证模块会在缓存模块查找是否存在该会话标识符,如果不存在则会返回会话已经过期的提示给用户,如果存在则取出其对应的验证码与用户输入的验证码进行比较,如果相同会执行相应的系统响应,同时对风控模块中该会话标识符对应的表示验证正确的次数增1,如果错误则会提示用户验证码输入错误,同样对风控模块中该会话标识符对应的表示验证错误的次数增1,如果缓存中该会话标识符的验证码已经过期(一般验证码是有有效期的,必须在规定时间被验证),会提示用户该验证码已过期,并对风控模块中该会话标识符所对应的表示验证码过期的次数增1。且每次验证操作之后都会删除相应会话标识符上的验证码,以防止用户的暴力破解操作。
从以上描述可以看出,在本发明实施例中,通过引入会话ID,可以将每个人在不同业务中的验证码难度等级进行区别对待;通过设置多个验证码难度等级参数,可以从多角度对验证码难度进行统计升级,阈值设置更为合理,系统通用性强;各验证码安全等级中干扰策略仅为字符组合、干扰线、字符间距、不同字符串长度,过渡不会过于明显,能在保证系统安全的前提下更好的保证用户的体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (28)
1.一种自适应的验证码设计方法,其特征在于,包括:
将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符;
根据生成的所述会话标识符的相应参数信息进行验证码安全等级判定,然后从缓存中读取该会话标识符的验证码安全等级,之后生成验证码;
根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
2.根据权利要求1所述的方法,其特征在于,所述运算为hash运算。
3.根据权利要求1所述的方法,其特征在于,所述用户的唯一标识包括:
在能得到用户名的情况下,所述用户的唯一标识为用户的用户名;
在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。
4.根据权利要求1所述的方法,其特征在于,生成会话标识符之前,还包括:
对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
5.根据权利要求1所述的方法,其特征在于,所述相应参数信息包括:相应的请求次数和请求比例信息。
6.根据权利要求1或5所述的方法,其特征在于,所述相应参数信息包括如下中的几种:
未知业务标识码请求次数及比例;
两次验证码请求小于最小时间间隔次数及比例;
超过请求次数上限的次数及比例;
验证码验证错误次数及比例;
验证码过期次数及比例;
已请求验证码次数及比例。
7.根据权利要求1所述的方法,其特征在于,从缓存中读取该会话标识符的验证码安全等级之前,还包括:
判断所述生成的会话标识符是否合法;
判断缓存中是否存在所述合法的会话标识符;以及
如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新。
8.根据权利要求7所述的方法,其特征在于,将该会话标识符对应的参数信息进行更新的步骤包括:
判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;
判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
9.根据权利要求1所述的方法,其特征在于,所述验证码由字符和干扰线组成。
10.根据权利要求9所述的方法,其特征在于,所述字符是从字符库中随机取出的,并且每一个字符的字体和字符间距都是随机的。
11.根据权利要求9所述的方法,其特征在于,所述干扰线的颜色和所述字符的颜色相同。
12.根据权利要求9或10所述的方法,其特征在于,所述字符的长度和所述干扰线的干扰强度随着所述验证码安全等级的变化而变化。
13.根据权利要求1所述的方法,其特征在于,所述验证码安全等级包括:
第一级,所述第一级采用第一长度的字符串;
第二级,所述第二级采用所述第一长度的字符串以及具有第一干扰强度的干扰线;
第三级,所述第三级采用第二长度的字符串以及具有所述第一干扰强度的干扰线,其中所述第二长度大于所述第一长度;
第四级,所述第四级采用所述第二长度的字符串以及具有第二干扰强度的干扰线,其中所述第二干扰强度大于所述第一干扰强度。
14.一种自适应的验证码设计系统,其特征在于,包括:
会话生成模块,用于将用户发出验证码请求的业务所对应的业务标识符和用户的唯一标识,经过运算得到固定长度的字符串,生成会话标识符;
验证码生成模块,用于根据生成的所述会话标识符的相应参数信息进行验证码安全等级判定,然后从缓存中读取该会话标识符的验证码安全等级,之后生成验证码;
验证码验证模块,用于根据所述会话标识符和输入的所述验证码进行验证,并反馈验证结果。
15.根据权利要求14所述的系统,其特征在于,所述运算为hash运算。
16.根据权利要求14所述的系统,其特征在于,所述用户的唯一标识包括:
在能得到用户名的情况下,所述用户的唯一标识为用户的用户名;
在不能得到用户名的情况下,所述用户的唯一标识为精确到纳秒的当前时间或当前请求的线程号。
17.根据权利要求14所述的系统,其特征在于,所述会话生成模块还用于:
对所述业务标识符进行校验,如果合法就生成会话标识符,如果不合法则不提供服务。
18.根据权利要求14所述的系统,其特征在于,所述相应参数信息包括:相应的请求次数和请求比例信息。
19.根据权利要求14或18所述的系统,其特征在于,所述相应参数信息包括如下中的几种:
未知业务标识码请求次数及比例;
两次验证码请求小于最小时间间隔次数及比例;
超过请求次数上限的次数及比例;
验证码验证错误次数及比例;
验证码过期次数及比例;
已请求验证码次数及比例。
20.根据权利要求14所述的系统,其特征在于,所述验证码生成模块还用于:
判断所述生成的会话标识符是否合法;
判断缓存中是否存在所述合法的会话标识符;以及
如果缓存中存在所述合法的会话标识符,将该会话标识符对应的参数信息进行更新。
21.根据权利要求20所述的系统,其特征在于,所述验证码生成模块将该会话标识符对应的参数信息进行更新还包括:
判断该会话标识符本次验证码请求和上一次请求之间的时间间隔是否小于两次请求间隔阈值,如果小于该阈值,将两次验证码请求小于最小时间间隔次数的值增1,否则不增加;
判断该会话标识符已经请求的验证码次数是否超过同一个会话标识符请求的验证码次数上限,如果超过该次数上限,将已请求验证码次数置1,并对超过请求次数上限的次数增1。
22.根据权利要求14所述的系统,其特征在于,所述验证码由字符和干扰线组成。
23.根据权利要求22所述的系统,其特征在于,所述字符从字符库中随机取出的,并且每一个字符的字体和字符间距都是随机的。
24.根据权利要求22所述的系统,其特征在于,所述干扰线的颜色和所述字符的颜色相同。
25.根据权利要求22或23所述的系统,其特征在于,所述字符的长度和所述干扰线的干扰强度随着所述验证码安全等级的变化而变化。
26.根据权利要求14所述的系统,其特征在于,所述验证码安全等级包括:
第一级,所述第一级采用第一长度的字符串;
第二级,所述第二级采用所述第一长度的字符串以及具有第一干扰强度的干扰线;
第三级,所述第三级采用第二长度的字符串以及具有所述第一干扰强度的干扰线,其中所述第二长度大于所述第一长度;
第四级,所述第四级采用所述第二长度的字符串以及具有第二干扰强度的干扰线,其中所述第二干扰强度大于所述第一干扰强度。
27.一种自适应的验证码设计的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
28.一种计算机可读介质,其上存储有计算机指令,其特征在于,该指令用于在执行时使得处理器实现如权利要求1-13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510325630.0A CN105046141B (zh) | 2015-06-12 | 2015-06-12 | 一种自适应的验证码设计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510325630.0A CN105046141B (zh) | 2015-06-12 | 2015-06-12 | 一种自适应的验证码设计方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105046141A CN105046141A (zh) | 2015-11-11 |
CN105046141B true CN105046141B (zh) | 2019-05-03 |
Family
ID=54452679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510325630.0A Active CN105046141B (zh) | 2015-06-12 | 2015-06-12 | 一种自适应的验证码设计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105046141B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930713A (zh) * | 2016-04-14 | 2016-09-07 | 深圳市金立通信设备有限公司 | 一种验证码生成方法及终端 |
CN106209493B (zh) * | 2016-06-22 | 2019-02-22 | 北京三快在线科技有限公司 | 一种对互联网服务系统进行流量跟踪的系统与方法 |
CN106790110B (zh) * | 2016-12-26 | 2020-04-07 | 携程旅游网络技术(上海)有限公司 | 基于业务数据的验证码防破解方法及系统 |
CN107688733B (zh) * | 2017-07-25 | 2020-03-06 | 深圳壹账通智能科技有限公司 | 业务接口调用方法、装置、用户终端和可读存储介质 |
CN107395647A (zh) * | 2017-09-05 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 验证系统、方法和装置 |
CN108418790A (zh) * | 2018-01-22 | 2018-08-17 | 平安科技(深圳)有限公司 | 业务跟踪方法、装置、终端设备及存储介质 |
CN109033800A (zh) * | 2018-07-20 | 2018-12-18 | 北京云测信息技术有限公司 | 一种验证信息的提取方法及装置 |
CN109858210A (zh) * | 2019-01-07 | 2019-06-07 | 平安科技(深圳)有限公司 | 信息验证方法、装置、计算机设备和存储介质 |
CN110032864B (zh) * | 2019-03-08 | 2023-10-17 | 平安科技(深圳)有限公司 | 动态码生成方法、装置、计算机设备和存储介质 |
CN111949952B (zh) * | 2019-05-15 | 2022-12-09 | 福建天晴数码有限公司 | 验证码请求处理方法及计算机可读存储介质 |
CN110119610A (zh) * | 2019-05-23 | 2019-08-13 | 湖北东方星海科技实业有限公司 | 一种多维生物特征信息安全认证检测方法 |
CN111740938B (zh) * | 2019-06-28 | 2022-12-02 | 北京京东尚科信息技术有限公司 | 信息处理方法、装置、客户端和服务器 |
CN110941805B (zh) * | 2019-11-21 | 2022-06-10 | 北京达佳互联信息技术有限公司 | 身份认证方法及装置 |
CN111859364A (zh) * | 2020-07-29 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种权限认证方法、装置、设备及存储介质 |
CN112100603B (zh) * | 2020-09-15 | 2022-06-14 | 福建天晴在线互动科技有限公司 | 一种网站结合图形验证码的防御方法及其系统 |
CN112235321B (zh) * | 2020-12-11 | 2021-03-02 | 深圳市房多多网络科技有限公司 | 短信验证码防刷方法及装置 |
CN112948812B (zh) * | 2021-03-29 | 2022-07-08 | 天津车之家数据信息技术有限公司 | 一种验证码的分配方法、计算设备及存储介质 |
CN113992373A (zh) * | 2021-10-20 | 2022-01-28 | 平安普惠企业管理有限公司 | 基于验证码的验证方法、装置、计算机设备和存储介质 |
CN115001843A (zh) * | 2022-06-24 | 2022-09-02 | 咪咕文化科技有限公司 | 身份验证方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957682A (zh) * | 2011-08-30 | 2013-03-06 | 北京百度网讯科技有限公司 | 一种用于基于验证安全等级提供图片验证码的方法与设备 |
CN104202345A (zh) * | 2014-09-28 | 2014-12-10 | 北京奇虎科技有限公司 | 验证码生成方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2646904B1 (en) * | 2010-11-29 | 2018-08-29 | BioCatch Ltd. | Method and device for confirming computer end-user identity |
CN103942486A (zh) * | 2013-01-17 | 2014-07-23 | 上海博路信息技术有限公司 | 一种图像阵列的验证码 |
CN104038346B (zh) * | 2014-06-24 | 2018-06-26 | 五八同城信息技术有限公司 | 一种验证方法及系统 |
-
2015
- 2015-06-12 CN CN201510325630.0A patent/CN105046141B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957682A (zh) * | 2011-08-30 | 2013-03-06 | 北京百度网讯科技有限公司 | 一种用于基于验证安全等级提供图片验证码的方法与设备 |
CN104202345A (zh) * | 2014-09-28 | 2014-12-10 | 北京奇虎科技有限公司 | 验证码生成方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105046141A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105046141B (zh) | 一种自适应的验证码设计方法及系统 | |
US20210385242A1 (en) | Methods and sytems for implementing a phishing assessment | |
CN106797371B (zh) | 用于用户认证的方法和系统 | |
CN105491054B (zh) | 恶意访问的判断方法、拦截方法与装置 | |
KR102069759B1 (ko) | 캡차(captcha) 챌린지의 동적 업데이트 | |
US8713672B2 (en) | Method and apparatus for token-based context caching | |
CN105095726B (zh) | 生成验证码的方法及装置 | |
US11165793B2 (en) | Method and system for detecting credential stealing attacks | |
CN106027462B (zh) | 一种操作请求控制方法和装置 | |
CN106549980B (zh) | 一种恶意c&c服务器确定方法及装置 | |
CN109711173B (zh) | 一种口令文件泄漏检测方法 | |
US8474056B2 (en) | Method and apparatus for token-based virtual machine recycling | |
CN106529269A (zh) | 一种安全验证方法及系统 | |
CN110324344A (zh) | 账号信息认证的方法及装置 | |
CN109902459A (zh) | Web页面的人机识别验证方法、系统、设备和存储介质 | |
US20130047214A1 (en) | Method and apparatus for token-based combining of authentication methods | |
CN111949952B (zh) | 验证码请求处理方法及计算机可读存储介质 | |
CN106921626B (zh) | 一种用户注册方法及装置 | |
KR20140103004A (ko) | 사용자 인증 장치 및 방법 | |
CN109981611A (zh) | 一种多平台账户的安全防御方法及装置 | |
CN114257451B (zh) | 验证界面更换方法、装置、存储介质及计算机设备 | |
CN115168830A (zh) | 一种检测用户登录环境的登录方法及登录装置 | |
CN106789850A (zh) | 信息处理方法、登录服务器的方法、装置、服务器及终端 | |
US11930048B1 (en) | Testing complex decision systems using outcome learning-based machine learning models | |
CN114338216B (zh) | 多维暴刷攻击防治方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |