CN109995748B - 一种验证码处理方法、设备及系统 - Google Patents

一种验证码处理方法、设备及系统 Download PDF

Info

Publication number
CN109995748B
CN109995748B CN201811483255.2A CN201811483255A CN109995748B CN 109995748 B CN109995748 B CN 109995748B CN 201811483255 A CN201811483255 A CN 201811483255A CN 109995748 B CN109995748 B CN 109995748B
Authority
CN
China
Prior art keywords
verification code
verification
code
network application
application system
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
Application number
CN201811483255.2A
Other languages
English (en)
Other versions
CN109995748A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CN109995748A publication Critical patent/CN109995748A/zh
Application granted granted Critical
Publication of CN109995748B publication Critical patent/CN109995748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种验证码处理方法、设备及系统,所述方法包括:接收验证码获取请求;生成或获取第一验证码;向网络应用系统发送包括所述第一验证码的消息请求,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到用户;判断所述网络应用系统是否成功发送所述第一验证码到用户;若是,则将所述第一验证码作为有效验证码;若否,则生成或获取第二验证码,向短信平台发送包括所述第二验证码的短信请求,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到用户,并将所述第二验证码作为有效验证码。该方法的实施,相比现有技术,可以大幅降低短信验证码发送的运营成本。

Description

一种验证码处理方法、设备及系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种验证码处理方法、设备及系统。
背景技术
当前,短信验证码已经得到广泛的应用,例如用户注册、安全登录、身份验证、找回密码、支付认证乃至优惠券验证、快递柜取件等诸多业务应用场景中都会应用到短信验证码。短信验证码具有使用便捷的特点,用户只要接入到通信网络随时可接收短信验证码。
随着用户对移动终端使用率的不断提高,各种网络应用也得到了广泛的应用,例如即时通讯、微博、社交、消息推送以及公众平台等网络应用。当用户在移动终端上使用这些网络应用时,在登录后长期会保持在在线状态,以便能及时接收到消息。在消息接收方面,网络应用具有零资费、低延迟的特点,但存在用户可能没有安装网络应用客户端、没有登录网络应用、网络故障导致不在线等原因而不能及时接收到消息的缺点。
在实现本申请的过程中,发明人发现现有短信验证码技术至少存在如下问题:由于每发送一条短信都会产生费用,存在累积成本高的缺点;如果短信平台或相关网络出现故障,会使得验证码不能及时送达到用户,导致用户无法完成验证过程。
发明内容
本发明的目的在于提供一种验证码处理方法、设备及系统,以实现向用户以更低成本、更高效的方式提供验证码,以及对用户提交的待校验码进行有效验证。
为达到上述目的,本发明提供了以下技术方案:
第一方面,提供了一种验证码处理方法,所述方法包括:
接收验证码获取请求,所述验证码获取请求包括目标账号;
生成或获取第一验证码;
向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号;
判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端:
若是,则将所述第一验证码作为有效验证码;
若否,则生成或获取第二验证码;向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码;将所述第二验证码作为有效验证码。
优选的,所述向网络应用系统发送消息请求包括:
确定所述网络应用系统的预设接口;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号和所述第一验证码;将所述消息请求发送到所述网络应用系统的预设接口;或者,
确定所述网络应用系统的预设接口;确定消息模板标识;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号、所述第一验证码以及所述消息模板标识;将所述消息请求发送到所述网络应用系统的预设接口。
优选的,所述目标账号所对应的用户账号的确定方式包括:
以所述目标账号作为所述用户账号;或者,
在预先存储的目标账号与用户账号的对应关系中,根据所述目标账号获取所述用户账号。
优选的,所述判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端包括:
当接收到所述网络应用系统返回的表示发送成功的信息时,则判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端;
当接收到所述网络应用系统返回的表示发送失败的信息时,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端;或者,
若在预设时间内没有接收到所述网络应用系统返回的表示发送成功或表示发送失败的信息,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
优选的,所述向短信平台发送短信请求包括:
确定短信平台的预设接口;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码和所述移动终端号码;将所述短信请求发送到所述短信平台的预设接口;或者,
确定短信平台的预设接口;确定短信模板标识;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码、所述移动终端号码以及所述短信模板标识;将所述短信请求发送到所述短信平台的预设接口。
优选的,所述目标账号所对应的移动终端号码的确定方式包括:
所述目标账号是移动终端号码,将所述目标账号确定为所述移动终端号码;或者,
在预先存储的目标账号与移动终端号码的对应关系中,根据所述目标账号获取所述移动终端号码;或者,
所述验证码获取请求中还包括移动终端号码,将所述验证码获取请求中还包括的移动终端号码确定为所述移动终端号码。
优选的,在执行所有步骤之后,还包括:
根据所述有效验证码验证用户提交的待校验码;或者,
根据所述目标账号和所述有效验证码验证用户提交的待校验码。
优选的,所述根据所述有效验证码验证用户提交的待校验码,包括:
接收验证码验证请求,所述验证码验证请求包括待校验码;根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功;或者,
将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述有效验证码验证用户提交的待校验码;或者,
将所述有效验证码发送给第三方服务器,以使得所述第三方服务器根据所述有效验证码校验待校验码。
优选的,所述根据所述目标账号和所述有效验证码验证用户提交的待校验码,包括:
接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码;根据所述目标账号获取所述有效验证码;根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功;或者,
将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述目标账号和所述有效验证码校验待校验码;或者,
将所述目标账号和所述有效验证码发送给第三方服务器,以使得所述第三方服务器根据所述目标账号和所述有效验证码校验待校验码。
第二方面,提供了一种验证码处理系统,所述系统包括:
获取请求接收模块:用于接收验证码获取请求,所述验证码获取请求包括目标账号;
第一验证码生成模块:用于生成或获取第一验证码;
消息发送模块:用于向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号;
判断执行模块:用于判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端,若是,则将所述第一验证码作为有效验证码;若否,则执行第二验证码生成模块和短信发送模块,并将所述第二验证码作为有效验证码;
第二验证码生成模块:用于生成或获取第二验证码;
短信发送模块:用于向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码。
优选的,所述系统还包括:
第一验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括待校验码;
第一验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
优选的,所述系统还包括:
第二验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码;
第二验证码获取模块:用于根据所述目标账号获取所述有效验证码;
第二验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
第三方面,提供了一种计算机设备,其特征在于,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行上述验证码处理的方法。
本发明所提供的验证码处理方法、设备及系统,服务器在生成或获取第一验证码之后,将第一验证码通过网络应用系统发送给用户,并判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号;若是,则将所述第一验证码作为有效验证码以用于验证用户提交的待校验码;若否,则生成或获取第二验证码,将第二验证码通过短信发送给用户,并将所述第二验证码作为有效验证码以用于验证用户提交的待校验码。相比现有短信验证码技术,本发明带来的效果包括,第一方面,由于通过网络应用系统发送验证码具有零资费的特点,又由于可以大量的减少短信发送量,因此,可以大幅降低运营成本;第二方面,由于会通过网络应用系统和短信两种方式向用户发送验证码,这样也使得验证码的整体送达率得到提高;第三方面,由于通过网络应用系统发送验证码比短信发送方式具有更低时延的特点,因此,可以使得发送验证码的整体时延降到更低;第四方面,由于通过网络应用系统和短信两种方式发送的是不同的验证码,从而使得安全性得到提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明提供的一种验证码处理方法实施例一的流程示意图;
图2是本发明提供的一种验证码处理方法实施例二的流程示意图;
图3是本发明提供的一种验证码处理方法实施例三的流程示意图;
图4是本发明提供的一种验证码处理系统实施例一的模块结构图;
图5是本发明提供的一种验证码处理系统实施例二的模块结构图;
图6是本发明提供的一种验证码处理系统实施例三的模块结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一、一种验证码处理方法实施例一
请参见图1,图1是本发明提供的一种验证码处理方法实施例一的流程示意图。所述方法包括:
步骤101,接收验证码获取请求,所述验证码获取请求包括目标账号。
服务器接收验证码请求方发送的验证码获取请求,其中,所述验证码获取请求包括目标账号。
验证码请求方可以是客户端程序,由客户端程序通过与服务器之间的特定接口向服务器发送验证码请求;验证码请求方也可以是服务端程序,服务端程序接收客户端程序的请求,由服务端程序通过与服务器之间的特定接口向服务器发送验证码请求。
需要说明的是,客户端程序的类型可以是原生应用客户端(如操作系统上的原生应用程序),也可以是Web应用客户端(如运行在浏览器上的网页程序),也可以是轻应用客户端(如基于HTML5、JavaScript的程序),也可以是混合应用客户端程序等,本发明实施例对客户端程序的类型并不进行限定。
步骤102,生成或获取第一验证码。
服务器生成或获取第一验证码,该第一验证码可以是纯数字组合的字符串、纯字母组合的字符串、字母和数字组合的字符串、汉字的组合等。该第一验证码也可以包含不可见字符,在接收到该第一验证码的用户的移动终端上,通过程序间的消息传递自动传递到业务应用客户端中;也可以经编码转换为可见字符后,由接收到该第一验证码的用户输入到业务应用客户端。
服务器可以生成第一验证码,例如服务器根据预定的策略随机生成六位纯数字组合的第一验证码,又例如服务器根据验证码获取请求中包括的策略信息随机生成八位纯字母组合的第一验证码等。
服务器也可以获取第一验证码,例如,服务器上预先存储有一个用于第一验证码的字符串,服务器选取该字符串作为第一验证码;又例如,服务器上预先存储有多个用于第一验证码的字符串,服务器从该预先存储的多个字符串中选取一个字符串作为第一验证码。
步骤103,向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号。
服务器向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统在接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端。
网络应用系统是诸如即时通讯、微博、社交、消息推送以及公众平台等网络应用服务的系统。
服务器向网络应用系统发送消息请求,可以包括多种实施方式,至少可以包括:
第一种实施方式,具体包括:确定所述网络应用系统的预设接口;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号和所述第一验证码;将所述消息请求发送到所述网络应用系统的预设接口。
其中,消息请求使得网络应用系统在接收到消息请求时,将其中的所述第一验证码发送到所述用户账号所对应的客户端。
其中,生成的消息请求中,还可以包括服务器名称等提示信息,以使得网络应用系统在将所述第一验证码发送到所述用户账号所对应的客户端时,将该提示信息同时发送到所述用户账号所对应的客户端,以便用户能更容易地识别接收到的第一验证码。
其中,所述消息请求中包括的所述第一验证码,可以是文本的形式;也可以是图片的形式,在图片中包含所述第一验证码字符串;也可以是语音的形式,在语音中包含所述第一验证码字符串的信息。
第二种实施方式,具体包括:确定所述网络应用系统的预设接口;确定消息模板标识;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号、所述第一验证码以及所述消息模板标识;将所述消息请求发送到所述网络应用系统的预设接口。
其中,消息模板标识用于使得网络应用系统调用相应的验证码消息模板,该消息模板标识可以是预先存储在服务器上的。
其中,消息请求使得网络应用系统接收到消息请求时,网络应用系统根据消息请求中的消息模板标识调用相应的验证码消息模板,再根据所述验证码消息模板和所述第一验证码生成第一验证码消息内容,然后将所述第一验证码消息内容发送给所述用户账号所对应的客户端。
可以理解,所述网络应用系统在接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,可以包括:如果用户账号是用户在网络应用系统上的登录账号,则网络应用系统在接收到所述消息请求时将所述第一验证码发送到所述用户账号所登录的客户端;如果网络应用系统建立了用户账号和普通账号的关联关系,普通账号是用户在网络应用系统上的登录账号,则网络应用系统在接收到所述消息请求时,根据所述用户账号在该关联关系中查找到对应的普通账号,再将所述第一验证码发送到所述普通账号所登录的客户端。
所述用户账号是所述目标账号所对应的用户账号,可以包括多种确定方式,至少可以包括:
第一种确定方式,以所述目标账号作为所述用户账号。
验证码获取请求中的目标账号是用户在网络应用系统上的用户账号,服务器以该目标账号作为所述用户账号。
第二种确定方式,在预先存储的目标账号与用户账号的对应关系中,根据所述目标账号获取所述用户账号。
服务器预先存储有目标账号与用户账号的对应关系,在接收到验证码获取请求之后,根据所述目标账号在该对应关系中获取所述用户账号。
可以理解,随着网络应用系统对用户账号设置的多样化,所述用户账号可以是常见的文本账号,也可以是电子邮箱,也可以是移动终端号码。
可以理解的是,移动终端号码是指手机号码。
步骤104,判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端:若是,则将所述第一验证码作为有效验证码以用于验证用户提交的待校验码,且不执行下述步骤105至步骤107;若否,则执行下述步骤105至步骤107。
服务器判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端。若是,则将所述第一验证码作为有效验证码以用于验证用户提交的待校验码,且不执行下述步骤105至步骤107;若否,则执行下述步骤105至步骤107。
服务器将所述第一验证码作为有效验证码以用于验证用户提交的待校验码,在服务器将所述第一验证码作为有效验证码之后,可以根据所述有效验证码验证用户提交的待校验码,也可以根据所述目标账号和所述有效验证码验证用户提交的待校验码。
判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端的实施方式,至少可以包括:
当接收到所述网络应用系统返回的表示发送成功的信息时,则判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端。
例如,网络应用系统在将所述第一验证码发送给所述用户账号所对应的客户端时,若网络应用系统确定所述用户账号在线,则判断成功发送所述第一验证码到所述用户账号,从而向服务器返回表示发送成功的信息,当服务器接收到网络应用系统返回的表示发送成功的信息时,则判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端。
又例如,网络应用系统在将所述第一验证码发送给所述用户账号所对应的客户端时,若网络应用系统接收到所述用户账号所对应的客户端反馈的表示成功接收的信息,则判断成功发送所述第一验证码到所述用户账号所对应的客户端,从而向服务器返回表示发送成功的信息,当服务器接收到网络应用系统返回的表示发送成功的信息时,则判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端。
判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端,可以包括多种实施方式,至少可以包括:
第一种实施方式,当接收到所述网络应用系统返回的表示发送失败的信息时,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
当网络应用系统接收到所述消息请求时,有多种原因可能会使得网络应用系统返回表示发送失败的信息,例如服务器没有向网络应用系统发送所述消息请求的权限、所述用户账号不是网络应用系统中的有效用户账号、所述用户账号不在线或者网络应用系统在预设的时间内没有接收到所述用户账号所对应的客户端反馈的表示成功接收的信息等。
当服务器接收到所述网络应用系统返回的表示发送失败的信息时,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
第二种实施方式,若在预设时间内没有接收到所述网络应用系统返回的表示发送成功或表示发送失败的信息,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
例如,当网络应用系统在成功发送所述第一验证码到所述用户账号所对应的客户端时返回表示发送成功的信息,但在未能发送所述第一验证码到所述用户账号所对应的客户端时不返回表示发送失败的信息之时,那么,在所述网络应用系统未能发送所述第一验证码到所述用户账号所对应的客户端时,则服务器在预设时间内不会接收到所述网络应用系统返回的表示发送成功或表示发送失败的信息,从而判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
又例如,当网络应用系统出现故障不能返回表示发送成功或表示发送失败的信息时,也会使得服务器在预设时间内没有接收到所述网络应用系统返回的表示发送成功或表示发送失败的信息,从而判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
步骤105,生成或获取第二验证码。
服务器生成或获取第二验证码,该第二验证码可以是纯数字组合的字符串、纯字母组合的字符串、字母和数字组合的字符串、汉字组合的字符串等。
服务器可以生成第二验证码,例如服务器根据预定的策略随机生成六位纯数字组合的第二验证码,又例如服务器根据验证码获取请求中包括的策略信息随机生成八位纯字母组合的第二验证码等。
服务器也可以获取第二验证码,例如,服务器上预先存储有一个用于第二验证码的字符串,服务器选取该字符串作为第二验证码;又例如,服务器上预先存储有多个用于第二验证码的字符串,服务器从该预先存储的多个字符串中选取一个字符串作为第二验证码。
步骤106,向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码。
服务器向短信平台发送短信请求,所述短信请求包括所述第二验证码和所述移动终端号码,以使得短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码。可以理解,若步骤103中所述目标账号所对应的用户账号是移动终端号码,则本步骤所述目标账号所对应的移动终端号码与步骤103所述目标账号所对应的用户账号,可以是同一移动终端号码,也可以不是同一移动终端号码。
短信平台是用于提供短信发送服务的平台,短信平台由通信运营商或短信平台服务商提供。
服务器向短信平台发送短信请求,可以包括多种实施方式,至少可以包括:
第一种实施方式,具体包括:确定短信平台的预设接口;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码和所述移动终端号码;将所述短信请求发送到所述短信平台的预设接口。
其中,短信请求使得短信平台接收到短信请求时,将其中的所述第二验证码发送到所述移动终端号码。
其中,生成的短信请求中,还可以包括服务器名称等提示信息,以使得短信平台在将所述第二验证码发送到所述移动终端号码时,将该提示信息同时发送到所述移动终端号码,以便用户能更容易地识别接收到的第二验证码。
第二种实施方式,具体包括:确定短信平台的预设接口;确定短信模板标识;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码、所述移动终端号码以及所述短信模板标识;将所述短信请求发送到所述短信平台的预设接口。
其中,短信模板标识用于使得短信平台调用相应的验证码短信模板,该短信模板标识可以是预先存储在服务器上的。
其中,短信请求使得短信平台接收到短信请求时,短信平台根据短信请求中的短信模板标识调用相应的验证码短信模板,再根据所述验证码短信模板和所述第二验证码生成验证码短信内容,然后将所述验证码短信内容发送到所述移动终端号码。
所述移动终端号码是所述目标账号所对应的移动终端号码,可以包括多种确定方式,至少可以包括:
第一种确定方式,所述目标账号是移动终端号码,将所述目标账号确定为所述移动终端号码。
第二种确定方式,在预先存储的目标账号与移动终端号码的对应关系中,根据所述目标账号获取所述移动终端号码。
服务器预先存储有目标账号与移动终端号码的对应关系,根据所述目标账号在该对应关系中获取所述移动终端号码。
第三种确定方式,所述验证码获取请求中还包括移动终端号码,将所述验证码获取请求中还包括的移动终端号码确定为所述移动终端号码。
步骤107,将所述第二验证码作为有效验证码以用于验证用户提交的待校验码。
服务器将所述第二验证码作为有效验证码以用于验证用户提交的待校验码,在服务器将所述第二验证码作为有效验证码之后,可以根据所述有效验证码验证用户提交的待校验码,也可以根据所述目标账号和所述有效验证码验证用户提交的待校验码。
通过上述实施过程可知,服务器在生成或获取第一验证码之后,将第一验证码通过网络应用系统发送给用户,并判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号;若是,则将所述第一验证码作为有效验证码以用于验证用户提交的待校验码;若否,则生成或获取第二验证码,将第二验证码通过短信发送给用户,并将所述第二验证码作为有效验证码以用于验证用户提交的待校验码。相比现有短信验证码技术,第一方面,由于通过网络应用系统发送验证码具有零资费的特点,又由于可以大量的减少短信发送量,因此,可以大幅降低运营成本;第二方面,由于会通过网络应用系统和短信两种方式向用户发送验证码,这样也使得验证码的整体送达率得到提高;第三方面,由于通过网络应用系统发送验证码比短信发送方式具有更低时延的特点,因此,可以使得发送验证码的整体时延降到更低;第四方面,由于通过网络应用系统和短信两种方式发送的是不同的验证码,从而使得安全性得到提高。
二、一种验证码处理方法实施例二
请参见图2,图2是本发明提供的一种验证码处理方法实施例二的流程示意图。本实施例提供的方法是在上述验证码处理方法实施例一提供的方法的实施过程之后,提供了一种根据所述有效验证码验证用户提交的待校验码的的过程,所述过程包括:
步骤201,接收验证码验证请求,所述验证码验证请求包括待校验码。
在服务器向用户发送验证码之后,则用户可以接收到第一验证码或第二验证码,用户将接收到的验证码输入到业务应用客户端,输入的信息即为待校验码。可以理解,在用户的移动终端上,用户输入接收到的验证码到业务应用客户端的过程,也可以通过程序间的消息传递自动完成。
业务应用客户端在接收到用户输入的待校验码之后,向服务器发送包括该待校验码的验证码验证请求,或者向该业务应用客户端对应的服务端程序发送包括该待校验码的验证码验证请求,由该服务端程序将该验证码验证请求转发给服务器。
步骤202,根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
服务器将所述待校验码与所述有效验证码进行比较,如果二者一致,则确定验证成功;如果二者不一致,则确定验证失败。
在确定验证成功之后,服务器可以根据需要提供相应的数据或服务,也可以返回表示验证成功或者验证失败的信息。
此外,参照本实施例的实现方式,服务器还可以将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述有效验证码验证用户提交的待校验码。
例如,若验证码请求方是客户端程序,则由该客户端程序根据所述有效验证码实现对用户输入的待校验码的验证;若验证码请求方是服务端程序,则由该服务端程序根据所述有效验证码实现对客户端发送的验证码验证请求中的待校验码的验证。
此外,参照本实施例的实现方式,服务器还可以将所述有效验证码发送给第三方服务器,以使得所述第三方服务器在接收到验证码验证请求时,根据所述有效验证码验证用户提交的待校验码。
通过上述实施过程可知,服务器实现了在向用户发送验证码的过程之后,还可以进一步地根据所述有效验证码实现对用户提交的待校验码的验证。
三、一种验证码处理方法实施例三
请参见图3,图3是本发明提供的一种验证码处理方法实施例三的流程示意图。本实施例提供的方法是在上述验证码处理方法实施例一提供的方法的实施过程之后,提供了一种根据所述目标账号和所述有效验证码验证用户提交的待校验码的过程,所述过程包括:
步骤301,接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码。
在服务器向用户发送验证码之后,用户将所述目标账号和待校验码输入到业务应用客户端。业务应用客户端在接收到用户输入的所述目标账号和待校验码之后,向服务器发送包括所述目标账号和该待校验码的验证码验证请求,或者向该业务应用客户端对应的服务端程序发送包括所述目标账号和该待校验码的验证码验证请求,由该服务端程序将该验证码验证请求转发给服务器。
可以理解的是,在用户的移动终端上,用户将所述目标账号和该待校验码输入到业务应用客户端的过程,可以由用户手工输入,也可以通过程序间的消息传递自动完成。
步骤302,根据所述目标账号获取所述有效验证码。
在服务器上存储有所述目标账号和所述有效验证码的对应关系,服务器根据所述目标账号获取到所述目标账号所对应的所述有效验证码。
步骤303,根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
服务器将所述待校验码与所述有效验证码进行比较,如果二者一致,则确定验证成功;如果二者不一致,则确定验证失败。
在确定验证成功以后,服务器可以根据需要提供相应的数据或服务,也可以返回表示验证成功或者验证失败的信息。
此外,参照本实施例的实现方式,服务器还可以将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述目标账号和所述有效验证码校验用户提交的待校验码。可以理解的是,由于验证码请求方在发送的验证码获取请求中包括有目标账号,因此,当验证码请求方接收到服务器返回的验证码时能相应地确定发送时的目标账号。
例如,若验证码请求方是客户端程序,则由该客户端程序根据所述目标账号和所述有效验证码实现对用户输入的所述目标账号和待校验码的验证;若验证码请求方是服务端程序,则由该服务端程序根据所述目标账号和所述有效验证码实现对客户端发送的验证码验证请求中的所述目标账号和待校验码的验证。
此外,参照本实施例的实现方式,服务器还可以将所述目标账号和所述有效验证码发送给第三方服务器,以使得所述第三方服务器在接收到验证码验证请求时,根据所述目标账号和所述有效验证码校验待校验码。
通过上述实施过程可知,服务器实现了在向用户发送验证码的过程之后,还可以进一步地根据所述目标账号和所述有效验证码实现对用户提交的所述目标账号和待校验码的验证。
四、一种验证码处理系统实施例一
请参见图4,图4是本发明提供的一种验证码处理系统实施例一的模块结构图。所述系统包括:
获取请求接收模块:用于接收验证码获取请求,所述验证码获取请求包括目标账号。
第一验证码生成模块:用于生成或获取第一验证码。
消息发送模块:用于向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号。
判断执行模块:用于判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端,若是,则将所述第一验证码作为有效验证码;若否,则执行第二验证码生成模块和短信发送模块,并将所述第二验证码作为有效验证码。
第二验证码生成模块:用于生成或获取第二验证码。
短信发送模块:用于向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码。
在本实施例提供的验证码处理系统中,验证码处理系统在生成或获取第一验证码之后,将验证码通过网络应用系统发送给用户,并判断所述网络应用系统是否成功发送所述第一验证码到用户;若是,则将所述第一验证码作为有效验证码以用于验证用户提交的待校验码;若否,则生成或获取第二验证码,将第二验证码通过短信发送给用户,并将所述第二验证码作为有效验证码以用于验证用户提交的待校验码。相比现有短信验证码技术,具有可以大幅降低运营成本、使得验证码的整体送达率得到提高和使得发送验证码的整体时延降到更低等特点。
五、一种验证码处理系统实施例二
请参见图5,图5是本发明提供的一种验证码处理系统实施例二的模块结构图。所述系统在上述验证码处理系统实施例一提供的系统上还包括第一验证请求接收模块和第一验证码验证模块,具体包括:
第一验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括待校验码。
第一验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
在本实施例提供的验证码处理系统中,实现了在向用户发送验证码之后,还可以进一步地根据所述有效验证码实现对用户提交的待校验码的验证。
六、一种验证码处理系统实施例三
请参见图6,图6是本发明提供的一种验证码处理系统实施例三的模块结构图。所述系统在上述验证码处理系统实施例一提供的系统上还包括第二验证请求接收模块、第二验证码获取模块和第二验证码验证模块,具体包括:
第二验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码。
第二验证码获取模块:用于根据所述目标账号获取所述有效验证码。
第二验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
在本实施例提供的验证码处理系统中,实现了在向用户发送验证码之后,还可以进一步地根据所述目标账号和所述有效验证码实现对用户提交的所述目标账号和待校验码的验证。
上述实施例提供的验证码处理系统与验证码处理方法实施例属于同一构思,其具体实现原理和效果可详见方法实施例,在此不再赘述。
此外,为实现上述目的,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述验证码处理方法的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
上述所公开的实施例的说明,使本领域专业技术人员能够实现或使用本发明,但并非因此限制本发明,凡是利用本发明说明书及附图内容所作的任何修改、等效结构或等效流程变换、改进等,或直接或间接运用在其他相关的技术领域,均应包含在本发明的保护范围内。

Claims (16)

1.一种验证码处理方法,其特征在于,所述方法包括:
接收验证码获取请求,所述验证码获取请求包括目标账号;
生成或获取第一验证码;
向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号;
判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端:
若是,则将所述第一验证码作为有效验证码;
若否,则生成或获取第二验证码;向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码;将所述第二验证码作为有效验证码。
2.根据权利要求1所述的方法,其特征在于,所述向网络应用系统发送消息请求,包括:
确定所述网络应用系统的预设接口;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号和所述第一验证码;将所述消息请求发送到所述网络应用系统的预设接口;或者,
确定所述网络应用系统的预设接口;确定消息模板标识;根据所述网络应用系统的预设接口生成消息请求,所述消息请求包括所述用户账号、所述第一验证码以及所述消息模板标识;将所述消息请求发送到所述网络应用系统的预设接口。
3.根据权利要求1所述的方法,其特征在于,所述目标账号所对应的用户账号的确定方式,包括:
以所述目标账号作为所述用户账号;或者,
在预先存储的目标账号与用户账号的对应关系中,根据所述目标账号获取所述用户账号。
4.根据权利要求1所述的方法,其特征在于,所述判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端,包括:
当接收到所述网络应用系统返回的表示发送成功的信息时,则判断所述网络应用系统成功发送所述第一验证码到所述用户账号所对应的客户端;
当接收到所述网络应用系统返回的表示发送失败的信息时,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端;或者,
若在预设时间内没有接收到所述网络应用系统返回的表示发送成功或表示发送失败的信息,则判断所述网络应用系统未能成功发送所述第一验证码到所述用户账号所对应的客户端。
5.根据权利要求4所述的方法,其特征在于,所述接收到所述网络应用系统返回的表示发送成功的信息,包括:
当所述网络应用系统将所述第一验证码发送给所述用户账号所对应的客户端时,若所述网络应用系统确定所述用户账号在线,则返回所述表示发送成功的信息;或者,
当所述网络应用系统将所述第一验证码发送给所述用户账号所对应的客户端时,若所述网络应用系统接收到所述用户账号所对应的客户端反馈的表示成功接收的信息,则返回所述表示发送成功的信息。
6.根据权利要求4所述的方法,其特征在于,所述接收到所述网络应用系统返回的表示发送失败的信息,包括:
若没有向所述网络应用系统发送所述消息请求的权限,则所述网络应用系统返回所述表示发送失败的信息;或者,
若所述网络应用系统确定所述用户账号不是所述网络应用系统中的有效用户账号,则所述网络应用系统返回所述表示发送失败的信息;或者,
当所述网络应用系统将所述第一验证码发送给所述用户账号所对应的客户端时,若所述网络应用系统确定所述用户账号不在线,则返回所述表示发送失败的信息;或者,
当所述网络应用系统将所述第一验证码发送给所述用户账号所对应的客户端时,若所述网络应用系统在预设的时间内没有接收到所述用户账号所对应的客户端反馈的表示成功接收的信息时,则返回所述表示发送失败的信息。
7.根据权利要求1所述的方法,其特征在于,所述网络应用系统包括即时通讯、微博、社交应用、消息推送或公众平台。
8.根据权利要求1所述的方法,其特征在于,所述向短信平台发送短信请求,包括:
确定短信平台的预设接口;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码和所述移动终端号码;将所述短信请求发送到所述短信平台的预设接口;或者,
确定短信平台的预设接口;确定短信模板标识;根据所述短信平台的预设接口生成短信请求,所述短信请求包括所述第二验证码、所述移动终端号码以及所述短信模板标识;将所述短信请求发送到所述短信平台的预设接口。
9.根据权利要求1所述的方法,其特征在于,所述目标账号所对应的移动终端号码的确定方式,包括:
所述目标账号是移动终端号码,将所述目标账号确定为所述移动终端号码;或者,
在预先存储的目标账号与移动终端号码的对应关系中,根据所述目标账号获取所述移动终端号码;或者,
所述验证码获取请求中还包括移动终端号码,将所述验证码获取请求中还包括的移动终端号码确定为所述移动终端号码。
10.根据权利要求1所述的方法,其特征在于,在执行所有步骤之后,还包括:
根据所述有效验证码验证用户提交的待校验码;或者,
根据所述目标账号和所述有效验证码验证用户提交的待校验码。
11.根据权利要求10所述的方法,其特征在于,所述根据所述有效验证码验证用户提交的待校验码,包括:
接收验证码验证请求,所述验证码验证请求包括待校验码;根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功;或者,
将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述有效验证码验证用户提交的待校验码;或者,
将所述有效验证码发送给第三方服务器,以使得所述第三方服务器根据所述有效验证码校验待校验码。
12.根据权利要求10所述的方法,其特征在于,所述根据所述目标账号和所述有效验证码验证用户提交的待校验码,包括:
接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码;根据所述目标账号获取所述有效验证码;根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功;或者,
将所述有效验证码返回给验证码请求方,以使得所述验证码请求方根据所述目标账号和所述有效验证码校验待校验码;或者,
将所述目标账号和所述有效验证码发送给第三方服务器,以使得所述第三方服务器根据所述目标账号和所述有效验证码校验待校验码。
13.一种验证码处理系统,其特征在于,所述系统包括:
获取请求接收模块:用于接收验证码获取请求,所述验证码获取请求包括目标账号;
第一验证码生成模块:用于生成或获取第一验证码;
消息发送模块:用于向网络应用系统发送消息请求,所述消息请求包括用户账号和所述第一验证码,以使得所述网络应用系统接收到所述消息请求时将所述第一验证码发送到所述用户账号所对应的客户端,所述用户账号是所述目标账号所对应的用户账号;
判断执行模块:用于判断所述网络应用系统是否成功发送所述第一验证码到所述用户账号所对应的客户端,若是,则将所述第一验证码作为有效验证码;若否,则执行第二验证码生成模块和短信发送模块,并将所述第二验证码作为有效验证码;
第二验证码生成模块:用于生成或获取第二验证码;
短信发送模块:用于向短信平台发送短信请求,所述短信请求包括所述第二验证码和移动终端号码,以使得所述短信平台接收到所述短信请求时将所述第二验证码发送到所述移动终端号码,所述移动终端号码是所述目标账号所对应的移动终端号码。
14.根据权利要求13所述的系统,其特征在于,还包括:
第一验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括待校验码;
第一验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
15.根据权利要求13所述的系统,其特征在于,还包括:
第二验证请求接收模块:用于接收验证码验证请求,所述验证码验证请求包括所述目标账号和待校验码;
第二验证码获取模块:用于根据所述目标账号获取所述有效验证码;
第二验证码验证模块:用于根据所述有效验证码校验所述待校验码,若校验通过,则确定验证成功。
16.一种计算机设备,其特征在于,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行如权利要求1至12中任一项所述的方法。
CN201811483255.2A 2018-10-29 2018-12-07 一种验证码处理方法、设备及系统 Active CN109995748B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811265032 2018-10-29
CN2018112650329 2018-10-29

Publications (2)

Publication Number Publication Date
CN109995748A CN109995748A (zh) 2019-07-09
CN109995748B true CN109995748B (zh) 2021-04-06

Family

ID=67128604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811483255.2A Active CN109995748B (zh) 2018-10-29 2018-12-07 一种验证码处理方法、设备及系统

Country Status (1)

Country Link
CN (1) CN109995748B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362985A (zh) * 2019-07-16 2019-10-22 北京天融信网络安全技术有限公司 一种验证方法及装置
CN112968892B (zh) * 2021-02-19 2023-01-06 中国工商银行股份有限公司 信息的验证方法、装置、计算设备和介质
CN113159784A (zh) * 2021-04-29 2021-07-23 北京达佳互联信息技术有限公司 验证码的发送方法、装置、计算机设备及存储介质
CN113468508B (zh) * 2021-05-31 2024-05-28 北京达佳互联信息技术有限公司 信息验证方法、装置、服务器及存储介质
CN113688379B (zh) * 2021-08-20 2024-05-31 杭州海康威视数字技术股份有限公司 平台注册方法、装置及计算机设备
CN114025316B (zh) * 2021-10-27 2023-04-07 土巴兔集团股份有限公司 验证码的发送方法、装置和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252721A (zh) * 2007-07-24 2008-08-27 杭州义盛祥通信技术有限公司 移动终端设备信息发送的方法
CN106850225A (zh) * 2015-12-04 2017-06-13 中国电信股份有限公司 验证码传送方法及系统
CN107786569A (zh) * 2017-11-06 2018-03-09 维沃移动通信有限公司 一种验证码发送方法、接收方法及相关设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9392456B2 (en) * 2013-09-24 2016-07-12 Telesign Corporation Call center SMS verification system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252721A (zh) * 2007-07-24 2008-08-27 杭州义盛祥通信技术有限公司 移动终端设备信息发送的方法
CN106850225A (zh) * 2015-12-04 2017-06-13 中国电信股份有限公司 验证码传送方法及系统
CN107786569A (zh) * 2017-11-06 2018-03-09 维沃移动通信有限公司 一种验证码发送方法、接收方法及相关设备

Also Published As

Publication number Publication date
CN109995748A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109995748B (zh) 一种验证码处理方法、设备及系统
US10834031B2 (en) Information exchange method, client, and apparatus
CN105847245B (zh) 一种电子邮箱登录认证方法和装置
CN103001974B (zh) 基于二维码的登录控制方法、系统和装置
CN110392054B (zh) 登录校验方法、装置、系统、设备和可读存储介质
CN107086979B (zh) 一种用户终端验证登录方法及装置
CN104954330B (zh) 一种对数据资源进行访问的方法、装置和系统
CN107241336B (zh) 身份验证方法和装置
WO2014040479A1 (zh) 防恶意骚扰的用户身份验证方法及装置
CN109525588B (zh) 一种验证码处理方法、设备及系统
CN105760435A (zh) 一种通过短信推荐快速注册的方法
CN103001975A (zh) 基于二维码的登录控制方法、系统和装置
CN103023919A (zh) 基于二维码的登录控制方法和系统
CN103036902A (zh) 基于二维码的登录控制方法和系统
US10326714B2 (en) Instant messaging with non subscriber users
CN104348613B (zh) 用户校验方法、装置及系统
CN108965115B (zh) 一种消息发送方法、装置及系统
CN105100093B (zh) 一种身份认证的方法和服务器
US10044735B2 (en) System and method for authentication of electronic communications
CN107770053B (zh) 一种离线状态下即时信息提示方法
CN115022047B (zh) 基于多云网关的账户登录方法、装置、计算机设备及介质
CN109992940B (zh) 身份验证方法、装置、系统及身份校验服务器
CN112910876A (zh) 登录方法、装置和电子设备
US9742776B2 (en) Contact identification validation via social invitation
CN104301285B (zh) 用于web系统的登录方法

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