CN110730152A - 一种登录验证方法、装置及电子设备 - Google Patents

一种登录验证方法、装置及电子设备 Download PDF

Info

Publication number
CN110730152A
CN110730152A CN201810778164.5A CN201810778164A CN110730152A CN 110730152 A CN110730152 A CN 110730152A CN 201810778164 A CN201810778164 A CN 201810778164A CN 110730152 A CN110730152 A CN 110730152A
Authority
CN
China
Prior art keywords
dimensional code
code image
user
current
verified
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
Application number
CN201810778164.5A
Other languages
English (en)
Other versions
CN110730152B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810778164.5A priority Critical patent/CN110730152B/zh
Publication of CN110730152A publication Critical patent/CN110730152A/zh
Application granted granted Critical
Publication of CN110730152B publication Critical patent/CN110730152B/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
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例提供了一种登录验证方法、装置及电子设备,该方法包括:接收到待验证用户的登录验证指令后,获得当前的验证码图像;获得待验证用户的当前的累计点击次数,当当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果;当解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。以实现提高对自动登录和恶意多次登录等问题的验证的准确率,增强对自动登录和恶意多次登录的防御。

Description

一种登录验证方法、装置及电子设备
技术领域
本发明涉及信息安全技术领域,特别是涉及一种登录验证方法、装置及电子设备。
背景技术
目前的计算机应用中,设置网站登录验证码是为了解决自动登录和恶意多次登录等问题,上述自动登录和恶意多次登录等问题会加重网站服务器负担,进而影响到正常用户的使用。这是网站所有者和正常用户均不愿看到的。
为了解决上述自动登录和恶意多次登录等问题,相关技术中,当接收到用户发出的登录指令时,获取M个验证码图片,将M个验证码图片生成M个二维码图片,并从M个二维码图片中确定一个二维码图片为验证二维码,对上述M个二维码图片中除验证二维码图片外的其他二维码图片进行重新着色处理,以通过不同颜色引导授权用户扫描识别真正有效的验证二维码来通过登录验证。
然而,相关技术中,仍可以通过自动探测识别技术,基于对颜色的探测,识别出上述验证二维码,进而实现自动登录。可见,相关技术仍存在安全隐患,其对自动登录和恶意多次登录等问题的验证的准确率还不够高。
发明内容
本发明实施例的目的在于提供一种登录验证方法、装置及电子设备,以实现提高对自动登录和恶意多次登录等问题的验证的准确率,增强对自动登录和恶意多次登录的防御。具体技术方案如下:
一方面,本发明实施例提供了一种登录验证方法,所述方法包括:
接收待验证用户的登录验证指令;
根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
获得所述待验证用户的当前的累计点击次数,当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
可选地,所述方法还包括:
当当前的所述累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户;或
当所述解码结果为成功,确定所述待验证用户为合法用户。
可选地,所述获得所述待验证用户的当前的累计点击次数的步骤,包括:
根据所述登录验证指令,将存储的累计点击次数递增1,其中,所述存储的累计点击次数为:接收到所述待验证用户的前一次登录验证指令时所确定的累计点击次数;
将递增1后的所述累计点击次数,作为所述待验证用户的当前的累计点击次数;或,
获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;
在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数的步骤之后,所述方法还包括:
当所述解码结果为失败,将当前的所述累计点击次数递增1;
将递增1后的累计点击次数,作为接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数。
可选地,在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数的步骤之后,所述方法还包括:
当当前的所述累计点击次数未超过所述设定点击次数阈值,且根据所述点击位置,确定所述点击位置对应的二维码块为二维码块时,将当前的所述累计点击次数递增1。
可选地,所述根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码的步骤,包括:
根据所述点击位置,确定在当前的所述验证码图像中所述点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,将所述非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的所述验证码图像进行解码。
可选地,在所述将所述非二维码图像所覆盖或替换的二维码块进行恢复处理的步骤之后,所述方法还包括:
将当前的所述验证码图像替换为恢复处理后所得的所述验证码图像,以作为接收到所述待验证用户的下一次登录验证指令时的当前的验证码图像。
可选地,在所述接收到待验证用户的登录验证指令的步骤之前,所述方法还包括:
获得待处理二维码图像;
将所述待处理二维码图像进行分割,得到N个二维码块;
从所述N个二维码块中,随机选取M个二维码块;
针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像,其中,P为不大于M的正整数;
所述接收待验证用户的登录验证指令的步骤,包括:
接收待验证用户针对所述验证码图像发出的登录验证指令。
可选地,所述针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像的步骤,包括:
判断当前的填充操作次数是否超过Z;其中,Z等于M减1;
当判断所述当前的填充操作次数未超过Z时,利用P个非二维码图像中的一个非二维码图像,覆盖或替换所述M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
填充操作次数递增1,作为当前的填充操作次数,返回所述判断当前的填充操作次数是否超过所述Z的步骤;
当判断所述当前的填充操作次数超过Z时,将当前的待处理二维码图像,确定为所述验证码图像。
可选地,在所述填充操作次数递增1,作为当前的填充操作次数的步骤之前,所述方法还包括:
对当前的所述待处理二维码图像进行解码;
当对当前的所述待处理二维码图像解码失败时,执行所述填充操作次数递增1,作为当前的填充操作次数的步骤;
当对当前的所述待处理二维码图像解码成功时,译码冗余次数递增1,并执行所述填充操作次数递增1,作为当前的填充操作次数的步骤,其中,所述译码冗余次数用于设置所述设定点击次数阈值。
可选地,在所述将当前的待处理二维码图像,确定为所述验证码图像的步骤之后,所述方法还包括:
获得确定所述验证码图像时的译码冗余次数;
计算M与所获得的译码冗余次数的差值;
将所述差值与预设容错次数之和,确定为设定点击次数阈值,其中,所述设定点击次数阈值不大于M。
又一方面,本发明实施例提供了一种登录验证装置,所述装置包括:
接收模块,用于接收待验证用户的登录验证指令;
第一获得模块,用于根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
第二获得模块,用于获得所述待验证用户的当前的累计点击次数;
解码模块,用于当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
第一确定模块,用于当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
可选地,所述装置还包括:
第二确定模块,用于当当前的所述累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户;或
当所述解码结果为成功,确定所述待验证用户为合法用户。
可选地,所述第二获得模块,具体用于
根据所述登录验证指令,将存储的累计点击次数递增1,其中,所述存储的累计点击次数为:接收到所述待验证用户的前一次登录验证指令时的累计点击次数;
将递增1后的存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;或,
获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;
所述装置还包括:
第一递增模块,用于在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数之后,当所述解码结果为失败,将当前的所述累计点击次数递增1;将递增1后的累计点击次数,作为接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数。
可选地,所述装置还包括:
第二递增模块,用于在所述获得所述待验证用户的累计点击次数之后,当所述累计点击次数未超过所述设定点击次数阈值,且根据所述点击位置,确定所述点击位置对应的二维码块为二维码块时,将所述累计点击次数递增1。
可选地,所述解码模块,具体用于
根据所述点击位置,确定在当前的所述验证码图像中所述点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,将所述非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的所述验证码图像进行解码。
可选地,所述装置还包括:
替换模块,用于在所述将所述非二维码图像所覆盖或替换的二维码块进行恢复处理之后,将当前的所述验证码图像替换为恢复处理后所得的所述验证码图像,以作为接收到所述待验证用户的下一次登录验证指令时的当前的验证码图像。
可选地,其特征在于,所述装置还包括:
第三获得模块,用于在所述接收到待验证用户的登录验证指令之前,获得待处理二维码图像;
分割模块,用于将所述待处理二维码图像进行分割,得到N个二维码块;
选取模块,用于从所述N个二维码块中,随机选取M个二维码块;
生成模块,用于针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像,其中,P为不大于M的正整数;
所述接收模块,具体用于
接收待验证用户针对所述验证码图像发出的登录验证指令。
可选地,所述生成模块,包括:
判断单元,用于判断当前的填充操作次数是否超过Z;其中,Z等于M减1;当判断所述当前的填充操作次数未超过Z时,触发处理单元;当判断所述当前的填充操作次数超过Z时,触发第一确定单元;
所述处理单元,用于利用P个非二维码图像中的一个非二维码图像,覆盖或替换所述M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
第一递增单元,用于填充操作次数递增1,作为当前的填充操作次数,触发所述判断单元;
所述第一确定单元,用于将当前的待处理二维码图像,确定为所述验证码图像。
可选地,所述生成模块还包括:
解码单元,用于在所述填充操作次数递增1,作为当前的填充操作次数之前,对当前的所述待处理二维码图像进行解码;当对当前的所述待处理二维码图像解码失败时,触发所述第一递增单元;当对当前的所述待处理二维码图像解码成功时,触发第二递增单元;
所述第二递增单元,用于当对当前的所述待处理二维码图像解码成功时,译码冗余次数递增1,触发所述第一递增单元,其中,所述译码冗余次数用于设置所述设定点击次数阈值。
可选地,所述生成模块还包括:
获得单元,用于在所述将当前的待处理二维码图像,确定为所述验证码图像之后,获得确定所述验证码图像时的译码冗余次数;
计算单元,用于计算M与所获得的译码冗余次数的差值;
第二确定单元,用于将所述差值与预设容错次数之和,确定为设定点击次数阈值,其中,所述设定点击次数阈值不大于M。
又一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例所提供的上述任一所述的登录验证方法步骤。
又一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的上述任一所述的登录验证方法步骤。
本发明实施例所提供的登录验证方法,包括:接收待验证用户的登录验证指令;根据登录验证指令,获得当前的验证码图像,其中,验证码图像包括被预先划分为N个二维码块的二维码图像,N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;获得待验证用户的当前的累计点击次数,当当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果;当解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。
本发明实施例中,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击的次数未超过设定点击次数阈值时,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例所提供的登录验证装置的结构示意图;
图1B为本发明实施例所提供的一种登录验证方法的流程示意图;
图2A为DM码的一种结构示意图;
图2B为QR码的一种结构示意图;
图2C为MaxiCode二维码的一种结构示意图;
图3A为本发明实施例所提供的一种登录验证方法的另一流程示意图;
图3B为本发明实施例所提供的一种登录验证方法的另一流程示意图;
图4A为本发明实施例所提供的一种获得验证码图像的流程示意图;
图4B为将二维码图像划分为3*3个矩形二维码块的一种示意图;
图4C为对4B所示的3*3个二维码块中的4块二维码块执行预设遮挡操作,并得到的验证码图像的一种示意图;
图4D为本发明实施例所提供的一种获得验证码图像的另一流程示意图;
图5为对一验证码图像进行逐次点击,而生成的各当前的处理后验证码图像的一种示意图;
图6为本发明实施例所提供的一种登录验证装置的另一结构示意图;
图7为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的术语解释如下:
待验证用户,指等待被验证是否为合法用户的用户。
合法用户,指被某一网站允许登录的用户,称为该网站或该应用软件的合法用户,或指被某应用软件允许登录的用户,称为该应用软件的合法用户。
非法用户,指被某一网站不允许登录的用户,称为该网站的非法用户,或指被某应用软件不允许登录的用户,称为该应用软件的非法用户。
验证码图像,用于验证待验证用户的身份(非法用户或合法用户)的二维码图像。
译码冗余次数,指使得二维码图像不能被解码成功的、二维码图像中被需覆盖或替换的二维码块的最小块数。
本发明的发明构思如下:
如图1A所示,本发明实施例所提供的登录验证装置可以包括切分模块、填充模块以及用户点击复原模块;
其中,上述切分模块、填充模块可以实现验证码图像的生成,上述用户点击复原模块可以实现利用上述验证码图像的登录验证。
上述切分模块,可以首先获得一个二维码图像,作为待处理二维码图像,将该待处理二维码图像进行分割,得到N个二维码块。
其中,上述二维码图像可以是包含二维码的图像,上述二维码可以相关的任一类型的二维码。并不对二维码的类型进行限定。
上述对待处理二维码图像进行分割,可以是平均分割,也可以是非平均分割,这都是可以的。对于上述切分模块来说,对待处理二维码图像进行分割时,其分割后所得到的二维码块的形状可以为任意多边形,本发明实施例并不对分割后所得到的二维码块的形状作限定。在一种情况中,将二维码图像分割成均等的矩形二维码块,有利于提高电子设备的存储和运算效率。
上述填充模块,可以从N个二维码块中随机选取M个二维码块,其中,M可以小于或等于N;针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块,生成验证码图像。其中,上述P可以等于或小于M。上述P个非二维码图像可以包括:不为二维码图像的任一类型的图像。上述M、N和P均为正整数。
其中,上述覆盖或替换上述二维码块的非二维码图像的尺寸,不大于被覆盖或替换的二维码块的尺寸。上述覆盖或替换上述二维码块的非二维码图像可以是任意颜色、图案以及形状。
一种实现方式中,上述填充模块生成验证码图像的过程,可以是:直接针对上述选取的M个二维码块,利用P个非二维码图像覆盖或替换该M个二维码块,以生成验证码图像。
在另一种实现方式中,上述填充模块生成验证码图像的过程,可以是:针对上述选取的M个二维码块,逐块进行覆盖或替换。具体的:判断当前的填充操作次数是否超过Z;其中,Z等于M减1;当判断当前的填充操作次数未超过Z时,利用P个非二维码图像中的一个非二维码图像,覆盖或替换M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;填充操作次数递增1,作为当前的填充操作次数,返回判断当前的填充操作次数是否超过Z的步骤;当判断当前的填充操作次数超过Z时,将当前的待处理二维码图像,确定为验证码图像。
后续的,上述填充模块可以将上述M或者M减一后所得的值设置为设定点击次数阈值,其中,具体的设置情况后续介绍。以使得上述用户点击复原模块,实现利用上述验证码图像的登录验证的过程中,可以通过限定待验证用户对验证码图像的点击的次数,避免出现非法用户尝试随机对验证码图像进行多次点击,使得被多次点击后的验证码图像,可以被解码成功,使得该非法用户被误认为合法用户的情况。在一定程度上避免自动登录和恶意多次登录等问题。在一种情况中,自动登录和恶意多次登录一般都是通过机器进行登录,上述用户点击复原模块通过限定待验证用户对验证码图像的点击的次数,可以用于区分人为登录和机器(非人为)登录。
目前的二维码均具有容错性,即二维码图像的部分内容被遮挡,该二维码图像仍可以被解码成功。基于上述二维码的容错性可知,验证码图像被解码成功,并不一定要求所有被覆盖或替换的二维码块均被进行恢复处理,即被恢复。可能用户所需点击的二维码块的个数,即进行恢复处理的二维码块的个数可以小于M,即小于被覆盖或替换的二维码块的块数,便可以通过登录验证。
鉴于上述情况,为了可以设置出比较合理的设定点击次数阈值,避免出现非法用户尝试随机对验证码图像进行多次点击,使得被多次点击后的验证码图像,可以被解码成功,使得该非法用户被误认为合法用户的情况。并且,避免出现由于设定点击次数阈值不合理,例如设定点击次数阈值过小,使得待验证用户被误确定为非法用户的情况。
在另一种实现方式中,上述填充模块填充模块生成验证码图像的过程,每次覆盖或替换待处理二维码图像中的一个二维码块后,即对所得的当前的待处理二维码图像进行解码,确定是否可以解码成功,当对当前的所述待处理二维码图像解码失败时,返回填充操作次数递增1,作为当前的填充操作次数的步骤;当对当前的待处理二维码图像解码成功时,译码冗余次数递增1,并返回填充操作次数递增1,作为当前的填充操作次数的步骤。基于该过程可以确定出译码冗余次数,即确定出使得二维码图像不能被解码成功的、二维码图像中需被覆盖或替换的二维码块的最小块数。进而,可以利用该译码冗余次数设置设定点击次数阈值,以限定待验证用户对验证码图像的点击的次数。
上述用户点击复原模块,可以获得上述填充模块所生成的上述验证码图像以及上述填充模块所设置的设定点击次数阈值。在一种实现方式中,上述用户点击复原模块设置于终端,此时,上述用户点击复原模块可以继续向待验证用户展示上述验证码图像,以使得待验证用户可以针对该验证码图像进行点击,即进行验证。在另一种实现方式中,上述用户点击复原模块设置于服务器,此时,上述用户点击复原模块可以用于将上述验证码图像发送至终端,以使终端向待验证用户展示上述验证码图像,以使得待验证用户可以针对该验证码图像进行点击,以进行登录验证。
上述用户点击复原模块,在实现登录验证的过程中,可以包括接收子模块、第一获得子模块、第二获得子模块以及第一确定子模块;
上述接收子模块,用于接收待验证用户的登录验证指令。在一种实现方式中,上述登录验证指令可以是:待验证用户对所展示的验证码图像进行点击操作,而触发的指令。也可以是:待验证用户对进入某网站或某应用软件的登录界面的功能按键进行操作,而触发的指令。
第一获得子模块,用于根据登录验证指令,获得当前的验证码图像,并发送至第二获得子模块。其中,验证码图像包括被预先划分为N个二维码块的二维码图像,N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N。
其中,上述当前的验证码图像可以是待验证用户对前一个验证码图像进行点击,而生成的图像。一种情况中,上述当前的验证码图像和上述前一个验证码图像可以对应同一个二维码图像;另一种情况中,上述当前的验证码图像和上述前一个验证码图像可以对应不同的二维码图像。
第二获得子模块可以包括获得单元以及解码单元;其中,
获得单元,用于获得待验证用户的当前的累计点击次数,并发送给解码单元,解码单元在确定当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果,并发送至第一确定子模块。
在一种情况中,上述当前的累计点击次数可以为基于该登录验证指令,对存储的累计点击次数递增1之后的累计点击次数。或者,可以为存储的累计点击次数,其中,存储的累计点击次数为:接收到待验证用户的前一次登录验证指令时的累计点击次数。当上述当前的累计点击次数为存储的累计点击次数时,当得到当前的验证码图像的解码结果之后,第一确定子模块可以在确定解码结果为失败时,将当前的累计点击次数递增1,作为接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数。
在一种情况中,当待验证用户在验证码图像上的点击位置对应的二维码块为非二维码图像,或者被非二维码图像覆盖时,将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,以得到当前的验证码图像的解码结果。当待验证用户在验证码图像上的点击位置对应的二维码块为二维码块时,为了减少运算负担,可以不进行后续的解码流程。
后续的,可以将当前的验证码图像替换为恢复处理后所得的验证码图像,以作为接收到待验证用户的下一次登录验证指令时的当前的验证码图像。
在一种实现方式中,解码单元在确定当前的累计点击次数超过设定点击次数阈值时,可以直接确定待验证用户为非法用户。
当第一确定子模块确定解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。
当第一确定子模块确定解码结果为成功时,确定待验证用户为合法用户。
在一种情况中,上述确定待验证用户为非法用户可以是:禁止该待验证用户继续进行登录验证。或者,禁止该待验证用户在预设时长内继续进行登录验证。或者,重新生成新的验证码图像,使得该待验证用户重新基于新的验证码图像进行登录验证。此时,上述累计点击次数将从0开始重新累计。
基于上述方案,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击次数未超过设定点击次数阈值,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。
基于相同的发明构思,本发明实施例提供了一种登录验证方法、装置及电子设备,以实现提高对自动登录和恶意多次登录等问题的验证的准确率,增强对自动登录和恶意多次登录的防御。
如图1B所示,本发明实施例提供了一种登录验证方法,可以包括如下步骤:
S101:接收待验证用户的登录验证指令;
可以理解的是,本发明实施例所提供的登录验证方法,可以应用于任一可以提供登录网站和/或应用软件等功能的终端,上述终端可以为电脑、智能手机等。也可以是与上述可以提供登录网站和/或应用软件等功能的终端连接的服务器,上述服务器可以为电脑、智能手机等。其中,实现本发明实施例所提供的登录验证方法应用软件,可以以专门的客户端软件的形式存在,也可以目前的需要登录的网站(网站所依赖的应用软件)或应用软件的插件的形式存在。
在一种实现方式中,上述登录验证指令可以是:待验证用户对所展示的验证码图像进行点击操作,而触发的指令。也可以是:待验证用户对进入某网站或某应用软件的登录界面的功能按键进行操作,而触发的指令。在一种情况中,上述验证码图像可以展示于某一网站或应用软件的登录界面中,上述登录界面中可以设置有登录信息的输入窗口,上述登录信息可以包括:登录账号、登录密码等信息。
S102:根据登录验证指令,获得当前的验证码图像;
其中,验证码图像包括被预先划分为N个二维码块的二维码图像,N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
可以理解的是,上述二维码图像为包含二维码的图像,本发明实施例,上述二维码可以为DM(Data Matrix)码、QR(Quick Response)码以及MaxiCode二维码等等,本发明实施例并不对上述二维码图像中所包含的二维码的类型进行限定。其中,上述DM码原名称为Data code。
不同类型的二维码,其结构可能存在不同。例如:对于DM码来说,DM码包含L边实线、版本号虚线以及数据信息,其中,上述二维码的数据信息所在区可以称为二维码的数据区,上述L边实线以及版本号虚线可以称为二维码的位置探测图形。如图2A所示,从左到右依次为:DM码所包含的L边实线所在区、版本号虚线所在区以及数据区的结构示意图。又例如:对于QR码来说,其包含多个版本,不同版本的QR码的结构也存在不同;概括来说,QR码可以包括:静区、位置探测图形、校正图形(版本1无)、参考网格、版本信息、格式信息以及数据信息。如图2B所示,从左到右依次为:版本1的QR码的结构示意图、版本2的QR码的结构示意图以及版本7的QR码的结构示意图。又例如:MaxiCode二维码,如图2C所示,为MaxiCode二维码的结构示意图,其包含位置探测图形、方向校正图形、数据区、保留模块以及静区,其为尺寸固定的二维码,数据容量固定且数据排列顺序固定,如图2C所示,MaxiCode二维码的最小模块的形状为六边形。
本步骤中,上述当前的验证码图像可以是未被待验证用户点击过的验证码图像,也可以是被待验证用户点击过的X次的验证码图像,其中,上述X为大于或者等于1的正整数,且X未超过M。
上述预设的非二维码图像可以为不包含二维码的任一类型的图像,也可以是:包含与验证图像中包含的二维码图像为不同类型的二维码的图像。其中,上述预设的非二维码图像的尺寸,不大于被覆盖或替换的二维码块的尺寸。上述预设的非二维码图像可以是任意颜色、图案以及形状。
S103:获得待验证用户的当前的累计点击次数;
S104:当当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果;
在一种实现方式中,获得待验证用户的当前的累计点击次数之后,可以判断该当前的累计点击次数与设定点击次数阈值的大小,其中,当当前的累计点击次数未超过设定点击次数阈值时,触发S104。在另一种实现方式中,当当前的累计点击次数超过设定点击次数阈值时,可以确定待验证用户为非法用户。
上述累计点击次数:所统计的待验证用户对包括某一二维码图像的验证码图像进行点击的次数,其中,该二维码图像被预先划分为N个二维码块,且其中N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换。
可以理解的是,当上述登录验证指令为待验证用户通过点击终端所展示的验证码图像进行点击,所触发的指令时,上述登录验证指令包含待验证用户对所展示的验证码图像进行点击时的点击位置。服务器或该终端可以根据待验证用户在验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果。
其中,可以通过调用预先设置的二维码识别算法的方式,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果。上述预先设置的二维码识别算法可以为相关的任一可以识别二维码的算法,本发明实施例并不对上述预先设置的二维码识别算法进行限定。
一种实现方式中,上述根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码的步骤,可以包括:
根据点击位置,确定在当前的验证码图像中点击位置对应的二维码块为非二维码图像或者被非二维码图像覆盖时,将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码。
其中,当确定在当前的验证码图像中点击位置对应的二维码块为非二维码图像时,上述将非二维码图像所覆盖或替换的二维码块进行恢复处理的过程,可以是:获得存储的二维码块在验证码图像中的位置与二维码块的对应关系,基于该对应关系以及在当前的验证码图像中的点击位置,确定与该点击位置对应的二维码块,将该点击位置处的非二维码图像替换为所确定的该点击位置对应的二维码块,
当确定在当前的验证码图像中点击位置对应的二维码块被非二维码图像覆盖时,上述将非二维码图像所覆盖或替换的二维码块进行恢复处理的过程,可以是:将所覆盖的非二维码图像删除。
在一种情况中,在所述将非二维码图像所覆盖或替换的二维码块进行恢复处理的步骤之后,所述方法还可以包括:
将当前的验证码图像替换为恢复处理后所得的验证码图像,以作为接收到待验证用户的下一次登录验证指令时的当前的验证码图像。
可以理解的是,在将非二维码图像所覆盖或替换的二维码块进行恢复处理后,可以得到恢复处理后所得的验证码图像。当对上述恢复处理后所得的验证码图像进行解码,解码结果为失败时,则需要继续下一轮登录验证,此时,可以将当前的验证码图像替换为恢复处理后所得的验证码图像,以作为接收到待验证用户的下一次登录验证指令时的当前的验证码图像。
在另一种实现方式中,当根据点击位置,确定在当前的验证码图像中点击位置对应的二维码块为二维码块,为了减少运算负担,则可以不对当前的验证码图像进行解码。此时,可以直接将当前的验证码图像,作为接收到待验证用户的下一次登录验证指令时的当前的验证码图像。
S105:当解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。
当解码结果为失败时,可以接收待验证用户的下一次登录验证指令,并获得接收到待验证用户的下一次登录验证指令时的待验证用户的累计点击次数,进而比较所获得的接收到待验证用户的下一次登录验证指令时的待验证用户的累计点击次数,与设定点击次数阈值的大小;当确定所获得的接收到待验证用户的下一次登录验证指令时的待验证用户的累计点击次数,超过设定点击次数阈值时,确定待验证用户为非法用户。
在一种情况中,上述确定待验证用户为非法用户的过程,可以是:禁止该待验证用户继续进行登录验证。或者,禁止该待验证用户在预设时长内继续进行登录验证。或者,重新生成新的验证码图像,即重新执行后续提到的生成验证码图像的过程,使得该待验证用户重新基于新的验证码图像进行登录验证,此时,上述累计点击次数将开始重新累计。
在另一实现方式中,当解码结果为成功时,可以确定待验证用户为合法用户。在一种情况中,在确定待验证用户为合法用户之后,可以输出“验证成功”或“验证通过”等信息,或者,当在检测到待验证用户已输入正确的登录账号,以及与登录账号对应的登录密码后,直接跳转至待验证用户所登录的登录账号对应的界面。
在另一实现方式中,当解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,可以继续执行后续的登录验证流程。可以理解的是,当解码结果为失败,可以返回执行接收待验证用户的登录验证指令,其中,该返回执行接收待验证用户的登录验证指令时,该登录验证指令实际为上述的下一次登录验证指令。当确定当前的累计点击次数,即上述的接收到待验证用户的下一次登录验证指令时所获得的累计点击次数,未超过设定点击次数阈值时,继续执行根据待验证用户在当前的验证码图像(待验证用户的下一次登录验证指令时的验证码图像)上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果,进而,基于解码结果执行以后的流程。
本发明实施例中,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击的次数未超过设定点击次数阈值时,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。
并且,本发明实施例中,上述验证码图像在不进行恢复处理之前,无法被自动识别解码。需要待验证用户在被允许情况下通过一定的简单正确操作,即对验证码图像中的M个被预设的非二维码图像覆盖或替换的二维码块进行点击操作,且点击操作在未超过设定点击次数阈值的情况下,使得验证码图像能够被成功自动识别解码,才能通过登录验证,即确定待验证用户为合法用户。
并且,本发明实施例中使用二维码图像作为登录验证依据,实现简单,可随时动态生成二维码图像,并进而生成验证码图像,无需进行后台保存,可以减轻电子设备的存储空间。
本发明实施例中,在接收到待验证用户的登录验证指令之后,获得待验证用户的当前的累计点击次数时,可以是直接根据所接收的登录验证指令,对存储的累计点击次数进行更新,即将存储的累计点击次数递增1,进而将递增1后的累计点击次数作为当前的累计点击次数,进而执行后续流程。或者,可以是直接将存储的累计点击次数作为当前的累计点击次数,执行后续流程;其中,当在确定当前的验证码图像的解码结果为失败之后,在接收待验证用户的下一次登录验证指令之前,将当前的累计点击次数递增1,进而将递增1后的当前的累计点击次数,作为在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数。
具体的,在一种实现方式中,如图3A所示,所述方法可以包括如下步骤:
S301A:接收待验证用户的登录验证指令;
S302A:根据登录验证指令,获得当前的验证码图像;
其中,验证码图像包括被预先划分为N个二维码块的二维码图像,N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
其中,上述S301A与图1B所示的S101相同,上述S302A与图1B所示的S102相同。
S303A:根据登录验证指令,将存储的累计点击次数递增1;
其中,存储的累计点击次数为:接收到待验证用户的前一次登录验证指令时所确定的累计点击次数;
S304A:将递增1后的累计点击次数,作为待验证用户的当前的累计点击次数;
上述S303A至S304A为图1B所示的S103的一种实现方式。
S305A:当当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果;
S306A:当解码结果为失败,且在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户;
上述S305A与图1B所示的S104相同,上述S306A与图1B所示的S105相同。
在一种情况中,如图3A所示,所述方法还可以包括:
S307A:当解码结果为成功,确定待验证用户为合法用户;
S308A:当当前的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。
在另一种实现方式中,如图3B所示,所述方法可以包括如下步骤:
S301B:接收待验证用户的登录验证指令;
S302B:根据登录验证指令,获得当前的验证码图像;
其中,验证码图像包括被预先划分为N个二维码块的二维码图像,N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
其中,上述S301B与图1B所示的S101相同,上述S302B与图1B所示的S102相同。
S303B:获得存储的累计点击次数,作为待验证用户的当前的累计点击次数;
其中,存储的累计点击次数为:接收到待验证用户的前一次登录验证指令时所确定的累计点击次数;
其中,上述S303B为图1B所示的S103的一种实现方式。
S304B:当当前的累计点击次数未超过设定点击次数阈值时,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的验证码图像的解码结果;
其中,上述S304B与图1B所示的S104相同。
S305B:当解码结果为失败,将当前的累计点击次数递增1;
S306B:将递增1后的累计点击次数,作为接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数;
S307B:在接收到待验证用户的下一次登录验证指令时,所获得的待验证用户的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户;
上述S307B与图1B所示的S105相同。
在一种情况中,如图3B所示,所述方法还可以包括:
S308B:当解码结果为成功,确定待验证用户为合法用户;
S309B:当当前的累计点击次数超过设定点击次数阈值时,确定待验证用户为非法用户。
在一种实现方式中,当上述获得待验证用户的当前的累计点击次数的步骤,包括:获得存储的累计点击次数,作为待验证用户的当前的累计点击次数时,当当前的累计点击次数未超过设定点击次数阈值,根据点击位置,确定点击位置对应的二维码块为二维码块时,无需对该点击位置的二维码块进行恢复处理,同时也可以无需对当前的验证码图像进行解码,在一定程度上可以减少运算负担。此时,可以将当前的累计点击次数递增1。进而将当前的验证码图像作为接收待验证用户的下一次登录验证指令时的当前的验证码图像,同时,将递增1后的当前的累计点击次数作为接收待验证用户的下一次登录验证指令时的当前的累计点击次数。以进行下一轮登录验证。
在一种实现方式中,如图4A所示,在上述接收待验证用户的登录验证指令的步骤之前,所述方法还可以包括获得验证码图像的过程,其中,可以包括:
S401A:获得待处理二维码图像;
S402A:将待处理二维码图像进行分割,得到N个二维码块;
S403A:从N个二维码块中,随机选取M个二维码块;
S404A:针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块,生成验证码图像;
其中,P为不大于M的正整数;
上述接收待验证用户的登录验证指令的步骤,可以包括:
接收待验证用户针对验证码图像发出的登录验证指令。
其中,上述待处理二维码图像可以为包含任意类型的二维码的图像;该待处理二维码图像可以为预先存储的,也可以为利用相关的二维码生成器即时生成的,这都是可以的。
在本发明实施例中,将待处理二维码图像进行分割,得到N个二维码块后,可以从上述N个二维码块中,随机选取M个二维码块,并分别对M个二维码块中的每一二维码块执进行覆盖或替换,以得到验证码图像。后续的基于该验证码图像实现对待验证用户的登录验证。
其中,在针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块的过程中,上述各二维码块之间的相对位置始终不会发生变化,以保证后续的登录验证流程中,可以在当点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,可以将非二维码图像所覆盖或替换的二维码块进行恢复处理,即确定出该点击位置对应的正真的二维码块。进而,可以保证在待验证用户在执行正确操作,即在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。
本发明实施例并不对上述分割待处理二维码图像的分割方式进行限定,可以对上述待处理二维码图像进行平均分割,例如:将上述待处理二维码图像平均划分为Y*T个二维码块,其中,上述Y和T均为大于等于1的整数,且,上述Y和T不同时等于1,当上述Y等于T时,既可以将上述待处理二维码图像划分为Y*Y个二维码块;也可以是对上述待处理二维码图像进行不平均分割,这都是可以的。
在一种情况中,本发明实施例并不对待处理二维码图像分割后所得的二维码块的形状进行限定,上述多个二维码块可以是任意多边形。当然为了更好的节省电子设备的运行负担,可以将上述待处理二维码图像均分为N个矩形二维码块。在一种情况中,可以将上述N的数值均设置为9,即可以将待处理二维码图像划分为3*3个矩形二维码块,如图4B所示,为将待处理二维码图像划分为3*3个矩形二维码块的一种示意图。在一种情况中,获得上述3*3个二维码块后,可以随机选取M个二维码块,针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块,生成验证码图像,上述M可以为4,如图4C所示,为对4B所示的3*3个二维码块中的4块二维码块进行覆盖或替换,所得到的验证码图像的一种示意图。
上述N和M的数值可以是用户预先设置的,也可以是设备默认设置的,设备在获得待处理二维码图像后,可以基于所设置的N和M的数值,分割所获得待处理二维码图像,并对分割后的M个二维码块进行覆盖或替换。其中,上述M和N的数值越大,上述验证码图像被非法破译,即非法解码的难度越大。
通过随机选取的方式,选取需要进行覆盖或替换的二维码块,可以提高所得到的验证码图像的随机性,在一定程度上可以提高上述验证码图像被破译的难度,可以更好的避免自动登录和恶意多次登录等问题,实现提高对自动登录和恶意多次登录等问题的验证的准确率,并增强对自动登录和恶意多次登录的防御。
在一种实现方式中,上述生成验证码图像的过程,可以是:直接针对上述选取的M个二维码块,利用P个非二维码图像覆盖或替换该M个二维码块,以生成验证码图像。
在另一种实现方式中,可以是:针对上述选取的M个二维码块,逐块进行覆盖或替换。具体的:
上述针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块,生成验证码图像的步骤,包括:
判断当前的填充操作次数是否超过Z;其中,Z等于M减1;当判断当前的填充操作次数未超过Z时,利用P个非二维码图像中的一个非二维码图像,覆盖或替换M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;填充操作次数递增1,作为当前的填充操作次数,返回判断当前的填充操作次数是否超过Z的步骤;当判断当前的填充操作次数超过Z时,将当前的待处理二维码图像,确定为验证码图像。
在另一种实现方式中,鉴于对二维码图像的容错性的考虑。验证码图像被解码成功,并不一定要求所有被覆盖或替换的二维码块均被进行恢复处理,即被还原。可能用户所需点击的二维码块的个数,即进行恢复处理的二维码块的个数可以小于M,即小于被覆盖或替换的二维码块的块数,便可以通过登录验证。还可以利用二维码的容错性来设置出较合理的设定点击次数阈值,以更好的实现对自动登录、多次恶意登录等问题的防御,避免出现验证码图像被多次的恶意性的点击,以使得验证码图像在被多次的恶意性的点击后,能够被成功自动识别解码的情况。
基于上述情况,为了可以设置出比较合理的设定点击次数阈值,避免出现非法用户尝试随机对验证码图像进行多次点击,使得被多次点击后的验证码图像,可以被解码成功,使得该非法用户被误认为合法用户的情况。并且,避免出现由于设定点击次数阈值不合理,例如设定点击次数阈值过小,使得待验证用户被误确定为非法用户的情况。可以在利用如下流程中,确定出译码冗余次数,即确定出使得二维码图像不能被解码成功的、二维码图像中被需覆盖或替换的二维码块的最小块数。进而,利用该译码冗余次数设置设定点击次数阈值。以限定待验证用户对验证码图像的点击的次数。
如图4D所示,上述针对选取的M个二维码块,将P个非二维码图像覆盖或替换M个二维码块,生成验证码图像的步骤,可以包括:
S401D:判断当前的填充操作次数是否超过Z;其中,Z等于M减1,当判断当前的填充操作次数未超过Z时,执行S402D;当判断当前的填充操作次数超过Z时,执行S406D;
S402D:利用P个非二维码图像中的一个非二维码图像,覆盖或替换M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
S403D:对当前的待处理二维码图像进行解码;当对当前的待处理二维码图像解码失败时,执行S404D;当对当前的待处理二维码图像解码成功时,执行S405D;
S404D:填充操作次数递增1,作为当前的填充操作次数,返回S401D;
S405D:译码冗余次数递增1,并返回S404D,其中,该译码冗余次数用于设置设定点击次数阈值;
S406D:将当前的待处理二维码图像,确定为验证码图像。
在一种情况中,目前的二维码均具有容错性,即二维码的部分内容被遮挡时,其仍然存在能够被成功识别解码的可能。鉴于对二维码的容错性,为了避免出现验证码图像,在未被待验证用户执行验证操作时即点击操作,即可被成功自动识别解码的情况,在确定上述验证码图像时,上述M的设置非常重要,一种情况,M可以为:用户根据经验值预先设置的数值,上述经验值可以是由实现本发明实施例所提供的登录验证方法应用软件的研发者提供的。上述经验值可以是由研发者根据二维码的容错性,针对待处理二维码图像被分割的N个二维码块进行相应设置的。例如,当待处理二维码图像被划分为9(3*3)块二维码块,且二维码的容错率为10%时,可以设置上述经验值为2,即可以设置上述M为2-9之间的任一整数值、2以及9。
本发明实施例中,上述设定点击次数阈值可以用于限定所允许的待验证用户对验证码图像的最大点击次数,其设置对于登录验证非常重要。在一种情况中,当接收到待验证用户的登录验证指令后,即根据该登录验证指令将存储的累计点击次数递增1时,可以直接将上述M设置为设定点击次数阈值。在另一种情况中,当接收到待验证用户的登录验证指令后,将存储的累计点击次数作为当前的累计点击次数时,可以直接将上述M减一设置为设定点击次数阈值。
可以理解的是,通过图4D所示流程,在获得上述验证码图像时,可以同时得到获得上述验证码图像时的填充操作次数即M以及译码冗余次数,根据获得上述验证码图像时的填充操作次数即M以及译码冗余次数,可以计算得到用户最少点击次数,其中,该用户最少点击次数可以表征:验证码图像可被成功识别解码时,被用户点击的最少次数。其中,具体的用户最少点击次数等于填充操作次数即M与译码冗余次数的差值。
在一种情况中,当接收到待验证用户的登录验证指令后,即根据该登录验证指令将存储的累计点击次数递增1时,可以直接将用户最少点击次数,确定为设定点击次数阈值。在另一种情况中,当接收到待验证用户的登录验证指令后,将存储的累计点击次数作为当前的累计点击次数时,可以直接将上述用户最少点击次数减一设置为设定点击次数阈值。
在另一种情况中,用户在操作过程中难免会出现误点的情况,即点击到验证码图像中的不为被非二维码图像覆盖或替换的二维码块,此时可以预先设置预设容错次数,上述预设容错次数用于表征允许用户对验证码图像执行误点的最大次数。可以基于上述用户最少点击次数,以及预设容错次数,确定设定点击次数阈值,以用来限定用户能够对验证码图像进行点击的最大次数。
鉴于对上述情况的考虑,在上述将当前的待处理二维码图像,确定为验证码图像的步骤之后,所述方法还可以包括:
获得确定验证码图像时的译码冗余次数;
计算M与所获得的译码冗余次数的差值;
将差值与预设容错次数之和,确定为设定点击次数阈值,其中,设定点击次数阈值不大于M。
其中,将上述差值与预设容错次数之和,确定为设定点击次数阈值的时机为:接收到待验证用户的登录验证指令后,即根据该登录验证指令将存储的累计点击次数递增1。在另一种情况中,当接收到待验证用户的登录验证指令后,将存储的累计点击次数作为当前的累计点击次数时,可以将上述和减一后所得的值,确定为设定点击次数阈值。其中,上述和为:上述差值与预设容错次数之和。
本发明实施例,在起到对待验证用户对验证码图像的点击次数的限定,实现避免自动登录和恶意多次登录等问题的同时,又可以在一定程度上述允许待验证用户的误点的情况,在一定程度上,可以提高用户的体验。
以以下具体实施例对本发明实施例所提供的一种登录验证方法进行说明:假设该方法应用于服务器;服务器在接收到待验证用户的登录指令之后,可以生成验证码图像一,如图5所示,左侧的“图a”为利用本发明实施例所提供的获得验证码图像方式,所获得的一验证码图像一,其中,验证码图像一包括9块二维码块,从上到下、从左到右依次为块1、块2、块3、块4、块5、块6、块7、块8和块9,其中,块1、块3、块5和块8为被预设的非二维码图像覆盖或替换的二维码块;
一种情况中,假设设定点击次数阈值为4;
服务器将上述验证码图像一发送至待验证用户所持有的终端,终端展示上述验证码图像一,以供待验证用户点击,对待验证用户验证码图像一进行点击,触发登录验证指令;
接收待验证用户A的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图a”;
获得待验证用户的当前的累计点击次数,即0;
此时,当前的累计点击次数0未超过设定点击次数阈值4,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的所述验证码图像的解码结果;其中,当待验证用户在当前的验证码图像上的点击位置为“图a”所示的验证码图像一的块5所在位置时,该块5所在位置对应的二维码块为被覆盖或替换的非二维码图像,此时将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,即对如图5所示的“图b”进行解码;
当解码失败时,将当前的累计点击次数递增1;并可以将恢复处理后的验证码图像“图b”发送至终端,终端展示上述恢复处理后的验证码图像“图b”,待验证用户对“图b”进行点击,
接收待验证用户的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图b”;
获得待验证用户的当前的累计点击次数,即1;
此时,当前的累计点击次数1未超过设定点击次数阈值4,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的所述验证码图像的解码结果;其中,当待验证用户在当前的验证码图像上的点击位置为“图a”所示的验证码图像一的块1所在位置时,该块1所在位置对应的二维码块为被覆盖或替换的非二维码图像,此时将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,即对如图5所示的“图c”进行解码;
当解码失败时,将当前的累计点击次数递增1;并可以将恢复处理后的验证码图像“图c”发送至终端,终端展示上述恢复处理后的验证码图像“图c”,待验证用户对“图c”进行点击;
接收待验证用户的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图c”;
获得待验证用户的当前的累计点击次数,即2;
此时,当前的累计点击次数2未超过设定点击次数阈值4,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的所述验证码图像的解码结果;其中,当待验证用户在当前的验证码图像上的点击位置为“图a”所示的验证码图像一的块3所在位置时,该块3所在位置对应的二维码块为被覆盖或替换的非二维码图像,此时将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,即对如图5所示的“图d”进行解码;
当解码失败时,将当前的累计点击次数递增1;并可以将恢复处理后的验证码图像“图d”发送至终端,终端展示上述恢复处理后的验证码图像“图d”,待验证用户对“图d”进行点击;
接收待验证用户的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图d”;
获得待验证用户的当前的累计点击次数,即3;
此时,当前的累计点击次数3未超过设定点击次数阈值4,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的所述验证码图像的解码结果;其中,当待验证用户在当前的验证码图像上的点击位置为“图a”所示的验证码图像一的块8所在位置时,该块8所在位置对应的二维码块为被覆盖或替换的非二维码图像,此时将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,即对如图5所示的“图e”进行解码;
当解码成功时,确定待验证用户为合法用户。
其中,当该方法应用于终端时,该终端自身执行展示各验证码图像的步骤。
另一种情况中,假定设定点击次数阈值为1;
服务器将上述验证码图像一发送至待验证用户所持有的终端,终端展示上述验证码图像一,以供待验证用户点击,对待验证用户验证码图像一进行点击,触发登录验证指令;
接收待验证用户A的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图a”;
获得待验证用户的当前的累计点击次数,即0;
此时,当前的累计点击次数0未超过设定点击次数阈值1,根据待验证用户在当前的验证码图像上的点击位置,对当前的验证码图像进行解码,得到当前的所述验证码图像的解码结果;其中,当待验证用户在当前的验证码图像上的点击位置为“图a”所示的验证码图像一的块5所在位置时,该块5所在位置对应的二维码块为被覆盖或替换的非二维码图像,此时将非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的验证码图像进行解码,即对如图5所示的“图b”进行解码;
当解码失败时,将当前的累计点击次数递增1;并可以将恢复处理后的验证码图像“图b”发送至终端,终端展示上述恢复处理后的验证码图像“图b”,待验证用户对“图b”进行点击,
接收待验证用户的登录验证指令;
根据登录验证指令,获得当前的验证码图像,即“图b”;
获得待验证用户的当前的累计点击次数,即1;
此时,当前的累计点击次数2超过设定点击次数阈值1,确定待验证用户为非合法用户。
相应于上述方法实施例,本发明实施例提供了一种登录验证装置,如图6所示,所述装置可以包括:
接收模块610,用于接收待验证用户的登录验证指令;
第一获得模块620,用于根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
第二获得模块630,用于获得所述待验证用户的当前的累计点击次数;
解码模块640,用于当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
第一确定模块650,用于当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
本发明实施例中,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击的次数未超过设定点击次数阈值时,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。
在一种实现方式中,所述装置还包括:
第二确定模块,用于当当前的所述累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户;或
当所述解码结果为成功,确定所述待验证用户为合法用户。
在一种实现方式中,所述第二获得模块630,具体用于
根据所述登录验证指令,将存储的累计点击次数递增1,其中,所述存储的累计点击次数为:接收到所述待验证用户的前一次登录验证指令时的累计点击次数;
将递增1后的存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;或,
获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;
所述装置还包括:
第一递增模块,用于在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数之后,当所述解码结果为失败,将当前的所述累计点击次数递增1;将递增1后的累计点击次数,作为接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数。
在一种实现方式中,所述装置还包括:
第二递增模块,用于在所述获得所述待验证用户的累计点击次数之后,当所述累计点击次数未超过所述设定点击次数阈值,且根据所述点击位置,确定所述点击位置对应的二维码块为二维码块时,将所述累计点击次数递增1。
在一种实现方式中,所述解码模块640,具体用于
根据所述点击位置,确定在当前的所述验证码图像中所述点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,将所述非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的所述验证码图像进行解码。
在一种实现方式中,所述装置还包括:
替换模块,用于在所述将所述非二维码图像所覆盖或替换的二维码块进行恢复处理之后,将当前的所述验证码图像替换为恢复处理后所得的所述验证码图像,以作为接收到所述待验证用户的下一次登录验证指令时的当前的验证码图像。
在一种实现方式中,所述装置还包括:
第三获得模块,用于在所述接收到待验证用户的登录验证指令之前,获得待处理二维码图像;
分割模块,用于将所述待处理二维码图像进行分割,得到N个二维码块;
选取模块,用于从所述N个二维码块中,随机选取M个二维码块;
生成模块,用于针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像,其中,P为不大于M的正整数;
所述接收模块,具体用于
接收待验证用户针对所述验证码图像发出的登录验证指令。
在一种实现方式中,所述生成模块,包括:
判断单元,用于判断当前的填充操作次数是否超过Z;其中,Z等于M减1;当判断所述当前的填充操作次数未超过Z时,触发处理单元;当判断所述当前的填充操作次数超过Z时,触发第一确定单元;
所述处理单元,用于利用P个非二维码图像中的一个非二维码图像,覆盖或替换所述M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
第一递增单元,用于填充操作次数递增1,作为当前的填充操作次数,触发所述判断单元;
所述第一确定单元,用于将当前的待处理二维码图像,确定为所述验证码图像。
在一种实现方式中,所述生成模块还包括:
解码单元,用于在所述填充操作次数递增1,作为当前的填充操作次数之前,对当前的所述待处理二维码图像进行解码;当对当前的所述待处理二维码图像解码失败时,触发所述第一递增单元;当对当前的所述待处理二维码图像解码成功时,触发第二递增单元;
所述第二递增单元,用于当对当前的所述待处理二维码图像解码成功时,译码冗余次数递增1,触发所述第一递增单元,其中,所述译码冗余次数用于设置所述设定点击次数阈值。
在一种实现方式中,所述生成模块还包括:
获得单元,用于在所述将当前的待处理二维码图像,确定为所述验证码图像之后,获得确定所述验证码图像时的译码冗余次数;
计算单元,用于计算M与所获得的译码冗余次数的差值;
第二确定单元,用于将所述差值与预设容错次数之和,确定为设定点击次数阈值,其中,所述设定点击次数阈值不大于M。
其中,上述接收模块610、第一获得模块620、第二获得模块630、解码模块640以及第一确定模块650相应于图1A所示的用户点击复原模块。其中,接收模块610相当于上述的接收子模块,上述第一获得模块620相当于上述的第一获得子模块,上述第二获得模块630和解码模块640相当于上述的第二获得子模块,上述第一确定模块650相当于上述的第一确定子模块。
上述第三获得模块和分割模块相当于上述的切分模块,上述生成模块相当于上述的填充模块。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信,
存储器730,用于存放计算机程序;
处理器710,用于执行存储器730上所存放的计算机程序时,实现本发明实施例所提供的上述任一所述的登录验证方法,可以包括步骤:
接收待验证用户的登录验证指令;
根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
获得所述待验证用户的当前的累计点击次数,当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
本发明实施例中,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击的次数未超过设定点击次数阈值时,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。
其中,上述电子设备可以是:可以提供登录网站和/或应用软件等功能的终端;也可以是与上述可以提供登录网站和/或应用软件等功能的终端连接的服务器。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述方法实施例,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的上述任一所述的登录验证方法,可以包括步骤:
接收待验证用户的登录验证指令;
根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
获得所述待验证用户的当前的累计点击次数,当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
本发明实施例中,上述验证码图像包括被预先划分为N个二维码块的二维码图像,并且,其中有M个二维码块被预设的非二维码图像覆盖或替换,需要待验证用户在设定点击次数阈值次的点击操作之内,使得验证码图像可以被解码成功。当在点击的次数未超过设定点击次数阈值时,待验证用户未能使得验证码图像被解码成功,即认为待验证用户为非法用户。在一定程度上可以避免自动登录和恶意多次登录等问题,实现了提高对自动登录和恶意多次登录等问题的验证的准确率,并增强了对自动登录和恶意多次登录的防御。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (22)

1.一种登录验证方法,其特征在于,所述方法包括:
接收待验证用户的登录验证指令;
根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
获得所述待验证用户的当前的累计点击次数,当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当当前的所述累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户;或
当所述解码结果为成功,确定所述待验证用户为合法用户。
3.根据权利要求1所述的方法,其特征在于,所述获得所述待验证用户的当前的累计点击次数的步骤,包括:
根据所述登录验证指令,将存储的累计点击次数递增1,其中,所述存储的累计点击次数为:接收到所述待验证用户的前一次登录验证指令时所确定的累计点击次数;将递增1后的所述累计点击次数,作为所述待验证用户的当前的累计点击次数;或,
获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;
在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数的步骤之后,所述方法还包括:
当所述解码结果为失败,将当前的所述累计点击次数递增1;
将递增1后的累计点击次数,作为接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数。
4.根据权利要求3所述的方法,其特征在于,在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数的步骤之后,所述方法还包括:
当当前的所述累计点击次数未超过所述设定点击次数阈值,且根据所述点击位置,确定所述点击位置对应的二维码块为二维码块时,将当前的所述累计点击次数递增1。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码的步骤,包括:
根据所述点击位置,确定在当前的所述验证码图像中所述点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,将所述非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的所述验证码图像进行解码。
6.根据权利要求4所述的方法,其特征在于,在所述将所述非二维码图像所覆盖或替换的二维码块进行恢复处理的步骤之后,所述方法还包括:
将当前的所述验证码图像替换为恢复处理后所得的所述验证码图像,以作为接收到所述待验证用户的下一次登录验证指令时的当前的验证码图像。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述接收到待验证用户的登录验证指令的步骤之前,所述方法还包括:
获得待处理二维码图像;
将所述待处理二维码图像进行分割,得到N个二维码块;
从所述N个二维码块中,随机选取M个二维码块;
针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像,其中,P为不大于M的正整数;
所述接收待验证用户的登录验证指令的步骤,包括:
接收待验证用户针对所述验证码图像发出的登录验证指令。
8.根据权利要求7所述的方法,其特征在于,所述针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像的步骤,包括:
判断当前的填充操作次数是否超过Z;其中,Z等于M减1;
当判断所述当前的填充操作次数未超过Z时,利用P个非二维码图像中的一个非二维码图像,覆盖或替换所述M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
填充操作次数递增1,作为当前的填充操作次数,返回所述判断当前的填充操作次数是否超过所述Z的步骤;
当判断所述当前的填充操作次数超过Z时,将当前的待处理二维码图像,确定为所述验证码图像。
9.根据权利要求8所述的方法,其特征在于,在所述填充操作次数递增1,作为当前的填充操作次数的步骤之前,所述方法还包括:
对当前的所述待处理二维码图像进行解码;
当对当前的所述待处理二维码图像解码失败时,执行所述填充操作次数递增1,作为当前的填充操作次数的步骤;
当对当前的所述待处理二维码图像解码成功时,译码冗余次数递增1,并执行所述填充操作次数递增1,作为当前的填充操作次数的步骤,其中,所述译码冗余次数用于设置所述设定点击次数阈值。
10.根据权利要求9所述的方法,其特征在于,在所述将当前的待处理二维码图像,确定为所述验证码图像的步骤之后,所述方法还包括:
获得确定所述验证码图像时的译码冗余次数;
计算M与所获得的译码冗余次数的差值;
将所述差值与预设容错次数之和,确定为设定点击次数阈值,其中,所述设定点击次数阈值不大于M。
11.一种登录验证装置,其特征在于,所述装置包括:
接收模块,用于接收待验证用户的登录验证指令;
第一获得模块,用于根据所述登录验证指令,获得当前的验证码图像,其中,所述验证码图像包括被预先划分为N个二维码块的二维码图像,所述N个二维码块中的M个二维码块被预设的非二维码图像覆盖或替换,N和M均为正整数且M小于或等于N;
第二获得模块,用于获得所述待验证用户的当前的累计点击次数;
解码模块,用于当当前的所述累计点击次数未超过设定点击次数阈值时,根据所述待验证用户在当前的所述验证码图像上的点击位置,对当前的所述验证码图像进行解码,得到当前的所述验证码图像的解码结果;
第一确定模块,用于当所述解码结果为失败,且在接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于当当前的所述累计点击次数超过所述设定点击次数阈值时,确定所述待验证用户为非法用户;或
当所述解码结果为成功,确定所述待验证用户为合法用户。
13.根据权利要求11所述的装置,其特征在于,所述第二获得模块,具体用于
根据所述登录验证指令,将存储的累计点击次数递增1,其中,所述存储的累计点击次数为:接收到所述待验证用户的前一次登录验证指令时的累计点击次数;
将递增1后的存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;或,
获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数;
所述装置还包括:
第一递增模块,用于在所述获得存储的累计点击次数,作为所述待验证用户的当前的累计点击次数之后,当所述解码结果为失败,将当前的所述累计点击次数递增1;将递增1后的累计点击次数,作为接收到所述待验证用户的下一次登录验证指令时,所获得的所述待验证用户的累计点击次数。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二递增模块,用于在所述获得所述待验证用户的累计点击次数之后,当所述累计点击次数未超过所述设定点击次数阈值,且根据所述点击位置,确定所述点击位置对应的二维码块为二维码块时,将所述累计点击次数递增1。
15.根据权利要求11所述的装置,其特征在于,所述解码模块,具体用于根据所述点击位置,确定在当前的所述验证码图像中所述点击位置对应的二维码块为非二维码图像或者被所述非二维码图像覆盖时,将所述非二维码图像所覆盖或替换的二维码块进行恢复处理,对恢复处理后的所述验证码图像进行解码。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
替换模块,用于在所述将所述非二维码图像所覆盖或替换的二维码块进行恢复处理之后,将当前的所述验证码图像替换为恢复处理后所得的所述验证码图像,以作为接收到所述待验证用户的下一次登录验证指令时的当前的验证码图像。
17.根据权利要求11-16中任一项所述的装置,其特征在于,所述装置还包括:
第三获得模块,用于在所述接收到待验证用户的登录验证指令之前,获得待处理二维码图像;
分割模块,用于将所述待处理二维码图像进行分割,得到N个二维码块;
选取模块,用于从所述N个二维码块中,随机选取M个二维码块;
生成模块,用于针对选取的所述M个二维码块,将P个非二维码图像覆盖或替换所述M个二维码块,生成所述验证码图像,其中,P为不大于M的正整数;
所述接收模块,具体用于
接收待验证用户针对所述验证码图像发出的登录验证指令。
18.根据权利要求17所述的装置,其特征在于,所述生成模块,包括:
判断单元,用于判断当前的填充操作次数是否超过Z;其中,Z等于M减1;当判断所述当前的填充操作次数未超过Z时,触发处理单元;当判断所述当前的填充操作次数超过Z时,触发第一确定单元;
所述处理单元,用于利用P个非二维码图像中的一个非二维码图像,覆盖或替换所述M个二维码块中的一个未被覆盖或替换的二维码块,得到当前的待处理二维码图像;
第一递增单元,用于填充操作次数递增1,作为当前的填充操作次数,触发所述判断单元;
所述第一确定单元,用于将当前的待处理二维码图像,确定为所述验证码图像。
19.根据权利要求18所述的装置,其特征在于,所述生成模块还包括:
解码单元,用于在所述填充操作次数递增1,作为当前的填充操作次数之前,对当前的所述待处理二维码图像进行解码;当对当前的所述待处理二维码图像解码失败时,触发所述第一递增单元;当对当前的所述待处理二维码图像解码成功时,触发第二递增单元;
所述第二递增单元,用于当对当前的所述待处理二维码图像解码成功时,译码冗余次数递增1,触发所述第一递增单元,其中,所述译码冗余次数用于设置所述设定点击次数阈值。
20.根据权利要求19所述的装置,其特征在于,所述生成模块还包括:
获得单元,用于在所述将当前的待处理二维码图像,确定为所述验证码图像之后,获得确定所述验证码图像时的译码冗余次数;
计算单元,用于计算M与所获得的译码冗余次数的差值;
第二确定单元,用于将所述差值与预设容错次数之和,确定为设定点击次数阈值,其中,所述设定点击次数阈值不大于M。
21.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-10任一所述的登录验证方法步骤。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的登录验证方法步骤。
CN201810778164.5A 2018-07-16 2018-07-16 一种登录验证方法、装置及电子设备 Active CN110730152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810778164.5A CN110730152B (zh) 2018-07-16 2018-07-16 一种登录验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810778164.5A CN110730152B (zh) 2018-07-16 2018-07-16 一种登录验证方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110730152A true CN110730152A (zh) 2020-01-24
CN110730152B CN110730152B (zh) 2021-11-26

Family

ID=69217333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810778164.5A Active CN110730152B (zh) 2018-07-16 2018-07-16 一种登录验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110730152B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639322A (zh) * 2020-06-17 2020-09-08 中国银行股份有限公司 应用的登录方法及装置、电子设备、计算机存储介质
CN113194104A (zh) * 2021-06-30 2021-07-30 南京敏宇数行信息技术有限公司 一种安全远程访问***、方法、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339666A (zh) * 2008-08-12 2009-01-07 腾讯科技(深圳)有限公司 一种图片验证码的生成方法和装置
US20130121542A1 (en) * 2011-11-16 2013-05-16 Authentec, Inc. Authentication device including template validation and related methods
CN103139204A (zh) * 2012-12-19 2013-06-05 姚爱军 一种网络验证码的方法及***
CN104702406A (zh) * 2013-12-04 2015-06-10 腾讯科技(深圳)有限公司 身份验证方法及装置
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和***、验证方法和客户端及服务器
US20150324573A1 (en) * 2014-05-08 2015-11-12 Alibaba Group Holding Limited Method and system for generating verification codes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339666A (zh) * 2008-08-12 2009-01-07 腾讯科技(深圳)有限公司 一种图片验证码的生成方法和装置
US20130121542A1 (en) * 2011-11-16 2013-05-16 Authentec, Inc. Authentication device including template validation and related methods
CN103139204A (zh) * 2012-12-19 2013-06-05 姚爱军 一种网络验证码的方法及***
CN104702406A (zh) * 2013-12-04 2015-06-10 腾讯科技(深圳)有限公司 身份验证方法及装置
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和***、验证方法和客户端及服务器
US20150324573A1 (en) * 2014-05-08 2015-11-12 Alibaba Group Holding Limited Method and system for generating verification codes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639322A (zh) * 2020-06-17 2020-09-08 中国银行股份有限公司 应用的登录方法及装置、电子设备、计算机存储介质
CN111639322B (zh) * 2020-06-17 2023-09-29 中国银行股份有限公司 应用的登录方法及装置、电子设备、计算机存储介质
CN113194104A (zh) * 2021-06-30 2021-07-30 南京敏宇数行信息技术有限公司 一种安全远程访问***、方法、计算机设备及存储介质
CN113194104B (zh) * 2021-06-30 2021-09-10 南京敏宇数行信息技术有限公司 一种安全远程访问***、方法、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110730152B (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN109857592B (zh) 数据恢复控制方法、服务器及存储介质
US20160292411A1 (en) Verification method, apparatus and system
EP3337084A1 (en) Cryptographic data processing method, cryptographic data processing apparatus, and program
CN112235321B (zh) 短信验证码防刷方法及装置
CN109960957A (zh) 残缺二维码及其生成、修复和识别方法、装置及***
CN109756458B (zh) 身份认证方法和***
CN104796428A (zh) 一种动态验证方法、客户端、服务器和***
CN110730152B (zh) 一种登录验证方法、装置及电子设备
CN112822222A (zh) 登录验证方法、自动登录的验证方法、服务端及客户端
WO2015123214A1 (en) Generating barcode and authenticating based on barcode
CN111259358A (zh) 登录方法、装置、计算机设备和存储介质
CN109145651B (zh) 一种数据处理方法及装置
CN113422687B (zh) 一种验证方法、验证服务器和验证***
CN115630663A (zh) 一种二维码识别方法、装置及电子设备
CN110598421B (zh) 二维码加密方法、装置及二维码解密方法、装置
US10223568B2 (en) Barcode decoding method
CN111949952B (zh) 验证码请求处理方法及计算机可读存储介质
CN106921626B (zh) 一种用户注册方法及装置
CN111859322A (zh) 身份验证方法、装置和电子设备
CN110516430B (zh) 身份验证方法、服务端和客户端
CN111143305B (zh) 基于分布式存储***的数据存储方法、装置、设备及介质
CN108875349B (zh) 基于拼音的验证码生成方法及装置
CN114679336B (zh) 身份验证方法、***、验证设备及可读存储介质
CN106991004B (zh) 触发冻结的方法及装置
CN112883349B (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