CN112417419B - 一种验证码处理方法、装置、设备及存储介质 - Google Patents
一种验证码处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112417419B CN112417419B CN202011314870.8A CN202011314870A CN112417419B CN 112417419 B CN112417419 B CN 112417419B CN 202011314870 A CN202011314870 A CN 202011314870A CN 112417419 B CN112417419 B CN 112417419B
- Authority
- CN
- China
- Prior art keywords
- verification code
- image
- verification
- areas
- area
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 541
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 45
- 239000003086 colorant Substances 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012015 optical character recognition Methods 0.000 abstract description 17
- 230000006399 behavior Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G06F21/36—User authentication by graphic or iconic representation
-
- 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/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Character Input (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种验证码处理方法、装置、设备及存储介质,所述方法包括:在接收到针对验证码展示的触发操作时,首先获取验证码图像和验证码输入提示信息,然后展示所述验证码图像和所述验证码输入提示信息,用于验证码输入。本公开实施例中的验证码图像上包含一个或多个验证码,且至少一个验证码被划分为多块区域,且至少两块区域的颜色不同,破坏了验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种验证码处理方法、装置、设备及存储介质。
背景技术
验证码是显示于背景图像上,且用于验证用户真实性的文字、数字、图标等。验证码的输入形式较多,例如通过输入背景图像上显示的验证码实现,或通过点选背景图像上显示的验证码实现等。
验证码的目的主要是分辨网络服务使用者是真人用户还是计算机程序,通过验证码的输入阻挡计算机程序,放行真人用户。但是,随着机器学习和计算机视觉技术的发展,图片比较容易被破解,破解之后验证码就形同虚设,抗光学字符识别OCR性能比较差,无法达到拦截恶意行为的目的。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种验证码处理方法、装置、设备及存储介质,能够提高验证码的抗OCR性能,达到有效拦截恶意行为的目的。
第一方面,本公开提供了一种验证码处理方法,所述方法包括:
响应于针对验证码展示的触发操作,获取验证码图像和验证码输入提示信息;
展示所述验证码图像和所述验证码输入提示信息;其中,所述验证码图像上包含一个或多个验证码,所述一个或多个验证码中的至少一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
一种可选的实施方式中,所述验证码中处于同一区域内的像素呈连续态,所述验证码中的至少两块区域之间具有像素间隔。
一种可选的实施方式中,所述验证码图像上包含至少一个所述验证码为文字;
所述验证码中处于同一区域内的文字笔画连续,且所述验证码中的至少存在两块区域之间的文字笔画不连续。
一种可选的实施方式中,所述验证码中各区域的宽高方向与所述验证码整体宽高方向相平行;或者,所述验证码中各区域的宽高方向与所述验证码图像的宽高方向相平行。
一种可选的实施方式中,所述验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
一种可选的实施方式中,所述验证码图像上包含的多个验证码中至少存在第一验证码和第二验证码;其中,
所述第一验证码中处于同一区域内的像素连续不间隔,且至少两块区域之间具有像素间隔;
所述第二验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
一种可选的实施方式中,所述验证码为文字,所述验证码图像上包含至少两种不同字体的验证码。
一种可选的实施方式中,所述验证码的多块区域中的至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度。
一种可选的实施方式中,所述验证码图像上的每个验证码均被划分多个区域,且每个验证码中的各个区域具有不同的颜色。
第二方面,本公开提供了一种验证码处理方法,所述方法包括:
接收针对验证码展示的触发请求,确定验证码图像和验证码输入提示信息;所述验证码图像上包含一个或多个验证码,且至少有一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同;
响应于所述触发请求,发送所述验证码图像和所述验证码输入提示信息;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
一种可选的实施方式中,所述确定验证码图像和验证码输入提示信息之前,还包括:
将验证码划分为多块区域;
确定所述多块区域分别对应的颜色;所述多块区域中的至少两块区域的颜色不同;
基于所述多个区域分别对应的颜色,将所述验证码绘制于背景图像上,得到绘制有所述验证码的验证码图像。
一种可选的实施方式中,所述验证码为文字;所述将验证码划分为多块区域,包括:
将所述验证码的文字笔画连续性,将所述验证码划分为多个区域,其中,相邻区域内的文字笔画呈间断态。
第三方面,本公开提供了一种验证码处理装置,所述装置包括:
获取模块,用于响应于针对验证码展示的触发操作,获取验证码图像和验证码输入提示信息;
展示模块,用于展示所述验证码图像和所述验证码输入提示信息;其中,所述验证码图像上包含一个或多个验证码,所述验证码被划分为多块区域,所述多块区域中的至少两块区域的颜色不同,所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
第四方面,本公开提供了一种验证码处理装置,所述装置包括:
第一确定模块,用于接收针对验证码展示的触发请求,确定验证码图像和验证码输入提示信息;所述验证码图像上包含一个或多个验证码,所述一个或多个验证码中的至少一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同;
发送模块,用于发送所述验证码图像和所述验证码输入提示信息;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
第五方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机设备上运行时,使得所述计算机设备实现上述的方法。
第六方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种验证码处理方法,在接收到验证码展示的触发操作时,获取验证码图像和验证码输入提示信息,并为用户展示该验证码图像和验证码输入提示信息,以便用户能够输入提示信息中指定的验证码,完成验证码的输入。本公开实施例中的验证码图像上包含一个或多个验证码,且至少一个验证码被划分为多块区域,且至少两块区域的颜色不同,破坏了验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本公开实施例提供的一种登录界面的示意图;
图1b为本公开实施例提供的一种显示有安全验证浮窗的登录界面的示意图;
图1c为本公开实施例提供的一种视频展示界面的示意图;
图2为本公开实施例提供的一种验证码处理方法的流程图;
图3为本公开实施例提供的一种验证码的区域划分效果示意图;
图4为本公开实施例提供的另一种验证码的区域划分效果示意图;
图5为本公开实施例提供的又一种验证码的区域划分效果示意图;
图6为本公开实施例提供的另一种验证码的区域划分效果示意图;
图7为本公开实施例提供的另一种验证码输入界面的示意图;
图8为本公开实施例提供的另一种验证码的区域划分效果示意图;
图9为本公开实施例提供的一种验证码处理方法流程图;
图10为本公开实施例提供的一种验证码中区域的颜色确定方法流程图;
图11为本公开实施例提供的一种背景区域确定的示意图;
图12为本公开实施例提供的一种验证码中区域的颜色确定方法流程图;
图13为本公开实施例提供的一种验证码处理装置的结构示意图;
图14为本公开实施例提供的一种验证码处理装置的结构示意图;
图15为本公开实施例提供的一种验证码处理设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
验证码的主要目的是分辨网络服务使用者是真人用户还是计算机程序,通过验证码的输入能够阻挡计算机程序,放行真人用户。
实际应用中,在输入验证码之前,基于验证码图像为用户显示一个或多个验证码,用户可以按照验证码输入提示信息完成验证码的输入或者点击等一系列任务,最终实现验证码输入。但是,随着机器学习和计算机视觉技术的发展,计算机程序对验证码识别的准确性有所提高,从而使得通过计算机程序实现验证码输入的成功率越来越高。
为此,本公开提供了一种验证码处理方法,在接收到验证码展示的触发操作时,获取验证码图像和验证码输入提示信息,并为用户展示该验证码图像和验证码输入提示信息,以便用户能够输入提示信息中指定的验证码,完成验证码的输入。本公开实施例中的验证码图像上包含一个或多个验证码,且至少一个验证码被划分为多块区域,且至少两块区域的颜色不同,破坏了验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
在对验证码处理方法进行具体介绍之前,本公开实施例针对验证码输入的实现过程进行简单介绍,以便于用户对本公开提供的验证码处理方法的理解。
以下为本公开实施例提供的一种验证码处理的实现过程,其中,在用户使用网络服务(如登录某视频网站)时,基于如图1a所示的登录界面,输入账号和密码。在完成账号和密码的输入之后,如果点击登录按钮,则触发安全验证浮窗的展示,否则退出登录界面。如图1b所示,为点击登录按钮后,在登录界面上显示的安全验证浮窗,在安全验证浮窗中显示有要求用户输入的验证码以及验证码输入提示信息,用户可以按照验证码输入提示信息中的指示依次点击指定验证码“执、彻、余、乌”,用于实现验证码的输入。
当用户按照指示依次点击对应的验证码“执、彻、余、乌”之后,,系统针对通过点击操作依次触发输入的验证码进行验证,得到验证码的验证结果。如果验证结果为通过安全验证,则为用户展示视频网站的视频展示界面,如图1c所示,用户可以使用对应的网络服务,如观看视频等。如果验证不通过,则清空账号和密码中的输入信息,要求用户重新输入登录信息,再次尝试登录。
为了降低计算机程序对于图1b中显示的验证码的识别准确率,从而降低计算机程序实现验证码输入的成功率,本公开实施例可以对显示在验证码输入界面上的验证码进行处理,具体的,将验证码“乌”、“余”、“彻”和“执”分别划分为多个区域,然后为各个区域设置不同的颜色,以破坏各个验证码的整体结构,从而降低计算机程序对其识别的准确率,最终降低了计算机程序实现验证码输入的成功率。
以上图1a-图1c仅给出一种验证码处理方法的应用场景,在实际应用中,验证码展示的触发操作也可以是触发式或者嵌入式的方式。其中,触发式是指在如图1a的登录界面上还显示验证码显示触发按钮,用于引导用户使用验证码,在用户点击该验证码显示触发按钮后,为用户展示验证码图像以及验证码输入提示信息。另外,嵌入式是指在如图1a的登录界面上直接为用户展示验证码图像以及验证码输入提示信息,如在图1a中的账号和密码的显示区域下方,展示验证码图像以及验证码输入提示信息,以供用户实现验证码的输入。
基于此,本公开实施例提供了一种验证码处理方法,参考图2,为本公开实施例提供的一种验证码处理方法的流程图,该方法包括:
S201:响应于针对验证码展示的触发操作,获取验证码图像和验证码输入提示信息。
本公开实施例中,验证码展示可以应用于各种需要辨别网络服务的使用者是否为真人用户的页面上。验证码展示的触发操作可以为打开上述页面的操作,例如打开某服务网站的登录页面的操作。
实际应用中,在检测到验证码展示的触发操作后,从服务端获取验证码图像和验证码输入提示信息,用于实现验证码输入。其中,验证码图像上显示有验证码,而验证码可以为文字、图标等,用于作为验证码输入的基础。
本公开实施例中,验证码输入提示信息用于提示输入验证码图像中的指定验证码。通常,验证码输入提示信息提示的指定验证码之间具有输入顺序,例如,按照以下顺序依次点击实现验证码的输入:执、彻、余、乌。另外,验证码输入提示信息还可以提示验证码输入的具体操作方式,例如点击操作等。
S202:展示所述验证码图像和所述验证码输入提示信息。
其中,所述验证码图像上包含一个或多个验证码,所述一个或多个验证码中的至少一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
实际应用中,从服务端获取到验证码图像和验证码输入提示信息后,在页面上展示验证码图像和验证码输入提示信息,用于实现验证码输入。
本公开实施例中,验证码图像上包含一个或多个验证码,其中,验证码图像上的至少一个验证码被划分为多块区域,且至少两块区域的颜色不同。当验证码图像上存在至少两个验证码被划分为多块区域时,该两个验证码被划分为的区域数量可以不同,例如其中一个验证码被划分为2块区域,而另一个验证码被划分为4块区域。
由于本公开实施例中的验证码图像上至少存在一个被划分为多块区域的验证码,且该验证码中至少存在两块区域颜色不同,因此,该验证码的整体结构被破坏,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
基于上述验证码处理方法实施例的描述,本公开实施例提供了以下几种对验证码图像上显示的验证码的区域划分方式。
一种可选的实施方式中,验证码中各区域的宽高方向可以与验证码整体宽高方向相平行。其中,验证码整体宽高方向是指验证码整体与水平或竖直方向的倾斜角度,基于该倾斜角度能够确定对该验证码的划分线,从而基于该划分线对该验证码进行区域划分,得到划分区域后的验证码。
如图3所示,为本公开实施例提供的一种验证码的区域划分效果示意图。其中,验证码“乌”整体向左倾斜30度左右,因此,可以基于该倾斜角度确定划分线,然后基于该划分线将其划分为4块区域。其中,各个区域之间的宽或高的长度可以相同,也可以不同。
另一种可选的实施方式中,验证码中各区域的宽高方向还可以与验证码图像的宽高方向相平行。其中,验证码图像的宽高方向是指与验证码图像的宽的方向或者高的方向。
如图4所示,为本公开实施例提供的另一种验证码的区域划分效果示意图,其中,同时基于验证码图像的宽高方向,将验证码划分为多块区域。其中,各个区域之间的宽或高的长度可以相同,也可以不同。
另一种可选的实施方式中,验证码中处于同一区域内的像素呈连续态,该验证码中的至少两块区域之间具有像素间隔。可以理解为,该验证码的每块区域自身具有连通性。
如图5所示,为本公开实施例提供的又一种验证码的区域划分效果示意图,其中,验证码为图标,且该验证码被划分为指向左边的箭头和指向右边的箭头共两块区域,每块区域内的像素连续不间隔,且不同区域之间具有像素间隔。
实际应用中,验证码图像上包含至少一个验证码为文字,对于验证码为文字的情况,本公开实施例可以基于验证码的文字结构,将验证码划分为多块区域,其中,文字结构由连续不间断的文字笔画构成。具体的,验证码中处于同一区域内的文字笔画连续不间断,且该验证码中的至少两块区域之间的文字笔画不连续。一种可选的实施方式中,相邻区域的文字笔画呈间断态。
例如,对于文字“二”,则可以将其划分为上下两个横的区域,而对于文字“块”,则可以基于其左右的文字结构,将其划分为左右两个区域。其中,划分后的每一个区域均由连续不间断的文字笔画构成,且不同区域之间的文字笔画不连续。
另外,由于文字字体的不同,对于计算机程序识别文字类型的验证码的准确性存在影响,因此,本公开实施例还可以为验证码设置字体,以使得验证码图像上包含至少两种不同字体的验证码。例如,验证码图像上存在宋体的验证码,同时还存在楷体的验证码。
另外,对于验证码字体的设置,可以基于用户惯用字体实现,从而在验证码输入的过程中保证用户体验。
另一种可选的实施方式中,验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。通常,该验证码是基于预设宽度或高度划分的区域。
如图6所示,为本公开实施例提供的另一种验证码的区域划分效果示意图。其中,验证码“峪”被划分成的区域的高的长度相等,且相邻区域的颜色不同,例如相邻区域的颜色为黄蓝相间的颜色设置,未在图中示出。
另一种可选的实施方式中,验证码图像中的各个验证码的区域划分方式可以不同,具体可以包括以上至少两种区域划分方式。
一种可选的实施方式中,验证码图像可以至少包含第一验证码和第二验证码,其中,第一验证码中处于同一区域内的像素呈连续态,且至少两块区域之间具有像素间隔,如图5所示的图标类型验证码。而第二验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同,如图6所示的验证码“峪”。本公开实施例提供的验证码图像上可以同时展示有图5中的图标和图6中的“峪”至少两个验证码。
本公开实施例通过不同区域划分方式,进一步的提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
另一种可选的实施方式中,验证码图像上的每个验证码均被划分为多个区域,且每个验证码中的各个区域均具有不同的颜色。
如图7所示,为本公开实施例提供的另一种验证码输入界面的示意图,其中,验证码图像上包含有“欠、酱、幻、隘”四个验证码,每个验证码均被划分为4块区域,且每个验证码中的各个区域具有不同的颜色。其中,同一个验证码中的各个区域之间的宽或高的长度可以相同,也可以不同。
为了便于理解,从图7中截取验证码“隘”为例,验证码“隘”被划分为4个区域,且各个区域的宽高方向与验证码“隘”整体宽高方向一致。如图8所示,验证码“隘”被粗虚线划分的4个区域的宽度和高度不同,且左上区域的颜色可以设置为红色,左下区域的颜色可以设置为绿色,右上区域的颜色可以设置为灰色,而右下区域的颜色可以设置为绿色,图中未示出。
另外,实际应用中,验证码输入是要求用户按照指示能够完成点击或输入任务,最终实现验证码的输入。因此,本公开实施例中验证码图像上显示的验证码,在降低计算机程序识别准确性的基础上,还需要保证真人用户的使用体验。
例如,从视觉效果的角度,验证码图像上显示的验证码能够被真人用户较好的识别,从而使得真人用户基于显示的验证码完成验证码输入的操作顺利进行,保证真人用户的验证码输入体验。
为此,本公开实施例的验证码图像上的验证码,如果被划分为多块区域,则存在至少一块区域的颜色与该区域对应的背景颜色之间的差异符合预设对比度,从而保证真人用户的验证码识别和输入体验。
在上述实施例的基础上,本公开从服务端的角度对验证码处理方法进行介绍,参考图9,为本公开实施例提供的一种验证码处理方法流程图,其中,该方法包括:
S901:接收针对验证码展示的触发请求,确定验证码图像和验证码输入提示信息。
其中,所述验证码图像上包含一个或多个验证码,所述一个或多个验证码中的至少一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同。
S902:响应于所述触发请求,发送所述验证码图像和所述验证码输入提示信息。
其中,所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
实际应用中,在确定验证码图像之前,首先生成验证码图像。具体的,预先确定验证码和背景图像,然后,将验证码划分为多块区域,确定多个区域分别对应的颜色,其中,同一被划分多块区域的验证码中至少两块区域的颜色不同。进而,基于各个区域分别对应的颜色,将验证码绘制于背景图像上,得到绘制有验证码的验证码图像。
一种可选的实施方式中,可以为被划分多个区域的验证码的多个区域随机设置颜色,具体的,各个区域的颜色可以不同。
另一种可选的实施方式中,还可以基于背景图像的颜色,为验证码的各个区域分别设置颜色,具体的实现方式在后续实施例进行介绍。
本公开实施例提供的验证码处理方法中,在接收到验证码展示的触发请求时,确定验证码图像和验证码输入提示信息,并将验证码图像和验证码输入提示信息发送至客户端,用于实现用户的验证码输入。本公开实施例通过将验证码图像上的验证码划分成多个区域,同时为至少两块区域设置不同的颜色的方式,破坏验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
为了保证真人用户的验证码输入体验,可以基于背景图像的颜色为验证码的各块区域设置颜色,以保证各个区域的颜色与背景图像上与该区域对应的背景颜色形成一定的对比度,使得真人用户能够较好的识别验证码,提高用户的验证码输入体验。
参考图10,为本公开实施例提供的一种验证码中区域的颜色确定方法流程图,针对被划分为多块区域的验证码的任意一块区域,以下称为第一目标区域,该方法可以包括:
S1001:从背景图像中确定包含有第一目标区域对应的显示区域的目标背景区域。
本公开实施例中,背景图像为用于显示验证码的图像,可以为风景、人像等各种类型的图像。
本公开实施例中,在为第一目标区域确定颜色值之前,首先确定背景图像中与验证码的第一目标区域对应的显示区域。其中,第一目标区域对应的显示区域是指,将第一目标区域显示在背景图像上之后,背景图像被第一目标区域覆盖的像素点构成的区域。然后,从背景图像中确定包含有该显示区域的背景区域。
一种可选的实施方式中,由于被第一目标区域覆盖的像素点的颜色与其周围像素点的颜色通常比较接近,因此,本公开实施例可以基于被第一目标区域覆盖的像素点的颜色,确定第一目标区域对应的颜色,保证第一目标区域对应的颜色与被覆盖的像素点的颜色之间的对比度,从而保证真人用户的验证码输入体验。
另一种可选的实施方式中,可以将背景图像中包含第一目标区域对应的显示区域的预设大小的区域,确定为背景区域。具体的,可以首先确定一个包含验证码的区域,在将验证码划分为多块区域的同时,也将包含验证码的区域划分为对应数量的区域。
如图11所示,为本公开实施例提供的一种背景区域确定的示意图,其中,斜线区域是基于验证码的宽高方向确定的包含验证码的区域。而横线区域是基于背景图像的宽高方向确定的包含验证码的区域。其中,为了保证斜线区域旋转后也不会超出横线区域的边界,因此,将横线区域的边界设置为斜线区域的边长的倍。在将验证码“康”划分为4块区域的同时,将斜线区域和横线区域分别也划分为4个区域。如图11所示,为第一目标区域对应的斜线区域和横线区域。
为此,假设验证码“康”的左上部分为第一目标区域,则可以将背景图像上与第一目标区域和第一目标区域对应的斜线区域,确定为背景区域,用于确定第一目标区域对应的颜色。
另外,本公开实施例也可以将背景图像上与第一目标区域、第一目标区域对应的斜线区域和第一目标区域对应的横线区域,确定为背景区域,如图11中左上部分的黑粗线所示的区域。
S1002:计算背景区域内的像素点的颜色均值。
本公开实施例中,在从背景图像中确定出背景区域之后,计算背景区域内的像素点的颜色均值,用于确定第一目标区域对应的颜色。
一种可选的实施方式中,像素点的颜色值可以为红绿蓝RGB三个颜色通道的颜色值,本公开实施例中可以分别计算出背景区域内的像素点的各个颜色通道的颜色均值,然后由各个颜色通道的颜色均值构成背景区域内的像素点的颜色均值。
S1003:确定与颜色均值构成预设对比度的目标颜色集合。
本公开实施例中,在确定目标背景区域内的像素点的颜色均值之后,确定与该颜色均值构成预设对比度的目标颜色集合。其中,该目标颜色集合中包括与该颜色均值构成预设对比度的颜色。另外,目标颜色集合中的颜色还可以与颜色均值的透明度和饱和度接近,以提高真人用户的使用体验。
其中,对于确定与该颜色均值构成预设对比度的目标颜色集合的方式,本公开实施例不做限制。
S1004:基于目标颜色集合,确定第一目标区域对应的颜色。
本公开实施例中,在确定目标颜色集合之后,从目标颜色集合中确定一个颜色,作为第一目标区域对应的颜色。
基于同样的方式,本公开实施例可以确定验证码的其他区域对应的颜色,以使得验证码的颜色与背景图像构成预设对比度,便于真人用户对显示的验证码的识别,从而实现验证码的输入。
总之,本公开实施例提供的验证码处理方法,能够在提高验证码的抗OCR性能,实现有效拦截恶意行为的基础上,保证真人用户的视觉体验,提升用户的验证码输入体验。
另外,本公开实施例还提供了一种验证码中区域的颜色确定方法,参考图12,为本公开实施例提供的一种验证码中区域的颜色确定方法流程图,该方法包括:
S1201:从背景图像中确定包含有第一目标区域对应的显示区域的背景区域,并将该背景区域内除显示区域内的像素点之外的像素点确定为目标像素点。
由于第一目标区域对应的显示区域周围的像素点的颜色对第一目标区域对应的颜色的确定影响较大,因此,本公开实施例可以基于第一目标区域对应的显示区域周围的像素点的颜色,确定第一目标区域对应的颜色。
本公开实施例中,在从背景图像中确定包含有第一目标区域对应的显示区域的背景区域之后,将该背景区域内出该显示区域内的像素点之外的其他像素点,确定为目标像素点,用于确定第一目标区域对应的颜色。
如图11所示,将斜线区域中除被第一目标区域覆盖的像素点之外的其他像素点,确定为目标像素点。
S1202:计算目标像素点的颜色均值,并确定与该颜色均值构成预设对比度的目标颜色集合。
本公开实施例中,在确定目标像素点之后,计算目标像素点的颜色均值,具体的颜色均值确定方式可参照上述实施例进行理解,在此不再赘述。
在确定目标像素点的颜色均值之后,可以确定与该颜色均值构成预设对比度的目标颜色集合。具体的,本公开实施例对于确定目标颜色集合的方式不做限制。
S1203:基于目标颜色集合,确定第一目标区域对应的颜色。
本公开实施例中,在确定目标颜色集合之后,从目标颜色集合中确定一个颜色,作为第一目标区域对应的颜色。
基于同样的方式,本公开实施例可以确定验证码的其他区域对应的颜色,以使得验证码的颜色与背景图像构成预设对比度,便于真人用户对显示的验证码的识别,从而实现验证码的输入。
总之,本公开实施例提供的验证码处理方法,能够在提高验证码的抗OCR性能,实现有效拦截恶意行为的基础上,保证真人用户的使用体验。
与上述方法实施例基于同一个发明构思,本公开还提供了一种验证码展示处理装置,参考图13,为本公开实施例提供的一种验证码处理装置的结构示意图,所述装置包括:
获取模块1301,用于响应于针对验证码展示的触发操作,获取验证码图像和验证码输入提示信息;
展示模块1302,用于展示所述验证码图像和所述验证码输入提示信息;其中,所述验证码图像上包含一个或多个验证码,所述验证码被划分为多块区域,所述多块区域中的至少两块区域的颜色不同,所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
一种可选的实施方式中,所述验证码中处于同一区域内的像素呈连续态,所述验证码中的至少两块区域之间具有像素间隔。
一种可选的实施方式中,所述验证码为文字;
所述验证码中处于同一区域内的文字笔画连续不间断,所述验证码中的至少两块区域之间的文字笔画不连续。
一种可选的实施方式中,所述验证码中各区域的宽高方向与所述验证码整体宽高方向相平行;或者,所述验证码中各区域的宽高方向与所述验证码图像的宽高方向相平行。
一种可选的实施方式中,所述验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
一种可选的实施方式中,所述验证码图像上包含的多个验证码中至少存在第一验证码和第二验证码;其中,
所述第一验证码中处于同一区域内的像素连续,且至少两块区域之间具有像素间隔;
所述第二验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
一种可选的实施方式中,所述验证码为文字,所述验证码图像上包含至少两种不同字体的验证码。
一种可选的实施方式中,所述验证码的多块区域中的至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度。
一种可选的实施方式中,所述验证码图像上的每个验证码均被划分多个区域,且每个验证码中的各个区域具有不同的颜色。
本公开实施例中的验证码图像上包含一个或多个验证码,且至少一个验证码被划分为多块区域,且至少两块区域的颜色不同,破坏了验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
与上述方法实施例基于同一个发明构思,本公开还提供了一种验证码处理装置,参考图14,为本公开实施例提供的一种验证码处理装置的结构示意图,所述装置包括:
第一确定模块1401,用于接收针对验证码展示的触发请求,确定验证码图像和验证码输入提示信息;所述验证码图像上包含一个或多个验证码,所述一个或多个验证码中的至少一个验证码被划分为多块区域,且所述多块区域中的至少两块区域的颜色不同;
发送模块1402,用于发送所述验证码图像和所述验证码输入提示信息;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
一种可选的实施方式中,所述装置还包括:
划分模块,用于将验证码划分为多块区域;
第二确定模块,用于确定所述多块区域分别对应的颜色;所述多块区域中的至少两块区域的颜色不同;
绘制模块,用于基于所述多个区域分别对应的颜色,将所述验证码绘制于背景图像上,得到绘制有所述验证码的验证码图像。
本公开实施例提供的验证码处理装置,将验证码图像上的至少一个验证码划分为多块区域,且至少两块区域的颜色不同,破坏了验证码的整体结构,提高了验证码的抗OCR性能,达到有效拦截恶意行为的目的。
另外,本公开实施例提供的验证码处理装置,还可以为验证码被划分的各个区域设置与背景图像构成预设对比度的颜色,便于真人用户对显示的验证码进行识别,从而实现验证码的输入。可见,本公开实施例能够在提高验证码的抗OCR性能,实现有效拦截恶意行为的基础上,保证真人用户的使用体验。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的验证码展示方法或验证码处理方法。
另外,本公开实施例还提供了一种验证码处理设备,参见图15所示,可以包括:
处理器1501、存储器1502、输入装置1503和输出装置1504。验证码处理设备中的处理器1501的数量可以一个或多个,图15中以一个处理器为例。在本公开的一些实施例中,处理器1501、存储器1502、输入装置1503和输出装置1504可通过总线或其它方式连接,其中,图15中以通过总线连接为例。
存储器1502可用于存储软件程序以及模块,处理器1501通过运行存储在存储器1502的计算机程序以及模块,从而执行验证码处理设备的各种功能应用以及数据处理。存储器1502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序等。此外,存储器1502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置1503可用于接收输入的数字或字符信息,以及产生与验证码处理设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器1501会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器1502中,并由处理器1501来运行存储在存储器1502中的应用程序,从而实现上述验证码处理设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种验证码处理方法,其特征在于,所述方法包括:
响应于针对验证码展示的触发操作,获取验证码图像和验证码输入提示信息;所述验证码图像为将验证码绘制于背景图像上得到的绘制有所述验证码的图像;
展示所述验证码图像和所述验证码输入提示信息;其中,所述验证码图像上包含一个或多个验证码,所述验证码图像上的每个验证码被划分多个区域,且每个验证码中的各个区域具有不同的颜色;所述验证码的多块区域中至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
2.根据权利要求1所述的方法,其特征在于,所述验证码中处于同一区域内像素呈连续态,所述验证码中的至少两块区域之间具有像素间隔。
3.根据权利要求2所述的方法,其特征在于,所述验证码图像上包含至少一个所述验证码为文字;
所述验证码中处于同一区域内的文字笔画连续,且所述验证码中至少存在两块区域之间的文字笔画不连续。
4.根据权利要求1所述的方法,其特征在于,所述验证码中各区域的宽高方向与所述验证码整体宽高方向相平行;或者,所述验证码中各区域的宽高方向与所述验证码图像的宽高方向相平行。
5.根据权利要求4所述的方法,其特征在于,所述验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
6.根据权利要求1所述的方法,其特征在于,所述验证码图像上包含的多个验证码中至少存在第一验证码和第二验证码;其中,
所述第一验证码中处于同一区域内的像素连续,且至少两块区域之间具有像素间隔;
所述第二验证码中各区域的宽或高的长度相等,且相邻区域的颜色不同。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述验证码为文字,所述验证码图像上包含至少两种不同字体的验证码。
8.一种验证码处理方法,其特征在于,所述方法包括:
接收针对验证码展示的触发请求,确定验证码图像和验证码输入提示信息;所述验证码图像为将验证码绘制于背景图像上得到的绘制有所述验证码的图像,所述验证码图像上包含一个或多个验证码,所述验证码图像上的每个验证码被划分多个区域,且每个验证码中的各个区域具有不同的颜色;所述验证码的多块区域中至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度;
响应于所述触发请求,发送所述验证码图像和所述验证码输入提示信息;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
9.根据权利要求8所述的方法,其特征在于,所述确定验证码图像和验证码输入提示信息之前,还包括:
将验证码划分为多块区域;确定所述多块区域分别对应的颜色;所述多块区域中的至少两块区域的颜色不同;
基于所述多个区域分别对应的颜色,将所述验证码绘制于背景图像上,得到绘制有所述验证码的验证码图像。
10.根据权利要求9所述的方法,其特征在于,所述验证码为文字;所述将验证码划分为多块区域,包括:
根据所述验证码的文字笔画连续性,将所述验证码划分为多个区域,其中,相邻区域的文字笔画呈间断态。
11.一种验证码处理装置,其特征在于,所述装置包括:
获取模块,用于响应于验证码展示的触发操作,获取验证码图像和验证码输入提示信息;所述验证码图像为将验证码绘制于背景图像上得到的绘制有所述验证码的图像;
展示模块,用于展示所述验证码图像和所述验证码输入提示信息;其中,所述验证码图像上包含一个或多个验证码,所述验证码图像上的每个验证码被划分多个区域,且每个验证码中的各个区域具有不同的颜色;所述验证码的多块区域中至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
12.一种验证码处理装置,其特征在于,所述装置包括:
第一确定模块,用于在接收到验证码展示的触发请求时,确定验证码图像和验证码输入提示信息;所述验证码图像为将验证码绘制于背景图像上得到的绘制有所述验证码的图像,所述验证码图像上包含一个或多个验证码,所述验证码图像上的每个验证码被划分多个区域,且每个验证码中的各个区域具有不同的颜色;所述验证码的多块区域中至少存在一块区域的颜色与所述区域对应的背景颜色之间的差异符合预设对比度;发送模块,用于发送所述验证码图像和所述验证码输入提示信息;所述验证码输入提示信息用于提示输入所述验证码图像中的指定验证码。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机设备上运行时,使得所述计算机设备实现如权利要求1至10中任一项所述的方法。
14.一种验证码处理设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314870.8A CN112417419B (zh) | 2020-11-20 | 2020-11-20 | 一种验证码处理方法、装置、设备及存储介质 |
US18/252,650 US20240012897A1 (en) | 2020-11-20 | 2021-11-01 | Verification code processing method and apparatus, and device and storage medium |
PCT/CN2021/127907 WO2022105582A1 (zh) | 2020-11-20 | 2021-11-01 | 一种验证码处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314870.8A CN112417419B (zh) | 2020-11-20 | 2020-11-20 | 一种验证码处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417419A CN112417419A (zh) | 2021-02-26 |
CN112417419B true CN112417419B (zh) | 2022-12-13 |
Family
ID=74778423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011314870.8A Active CN112417419B (zh) | 2020-11-20 | 2020-11-20 | 一种验证码处理方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240012897A1 (zh) |
CN (1) | CN112417419B (zh) |
WO (1) | WO2022105582A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417419B (zh) * | 2020-11-20 | 2022-12-13 | 北京字节跳动网络技术有限公司 | 一种验证码处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471808A (zh) * | 2014-05-28 | 2016-04-06 | 北京搜狗科技发展有限公司 | 生成验证码的方法以及安全验证的方法、装置及系统 |
CN110084030A (zh) * | 2019-03-14 | 2019-08-02 | 咪咕文化科技有限公司 | 基于图片验证码的验证方法、装置及计算机可读存储介质 |
CN110348193A (zh) * | 2019-05-24 | 2019-10-18 | 招银云创(深圳)信息技术有限公司 | 验证方法、装置、设备和存储介质 |
CN110752933A (zh) * | 2019-10-25 | 2020-02-04 | 北京博睿宏远数据科技股份有限公司 | 一种验证码输入方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298763A (zh) * | 2010-06-28 | 2011-12-28 | 腾讯科技(北京)有限公司 | 一种图片验证码的生成方法及系统 |
TW201228323A (en) * | 2010-12-28 | 2012-07-01 | Gamania Digital Entertainment Co Ltd | Method for generating dynamic authimage through changing position of transparent region of mask film |
CN106157344B (zh) * | 2015-04-23 | 2020-11-10 | 深圳市腾讯计算机系统有限公司 | 验证图片的生成方法及装置 |
CN107844696B (zh) * | 2016-09-20 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 一种验证码干扰方法及服务器 |
CN111259366B (zh) * | 2020-01-22 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 一种基于自监督学习的验证码识别器的训练方法和装置 |
CN112417419B (zh) * | 2020-11-20 | 2022-12-13 | 北京字节跳动网络技术有限公司 | 一种验证码处理方法、装置、设备及存储介质 |
-
2020
- 2020-11-20 CN CN202011314870.8A patent/CN112417419B/zh active Active
-
2021
- 2021-11-01 WO PCT/CN2021/127907 patent/WO2022105582A1/zh active Application Filing
- 2021-11-01 US US18/252,650 patent/US20240012897A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471808A (zh) * | 2014-05-28 | 2016-04-06 | 北京搜狗科技发展有限公司 | 生成验证码的方法以及安全验证的方法、装置及系统 |
CN110084030A (zh) * | 2019-03-14 | 2019-08-02 | 咪咕文化科技有限公司 | 基于图片验证码的验证方法、装置及计算机可读存储介质 |
CN110348193A (zh) * | 2019-05-24 | 2019-10-18 | 招银云创(深圳)信息技术有限公司 | 验证方法、装置、设备和存储介质 |
CN110752933A (zh) * | 2019-10-25 | 2020-02-04 | 北京博睿宏远数据科技股份有限公司 | 一种验证码输入方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022105582A1 (zh) | 2022-05-27 |
CN112417419A (zh) | 2021-02-26 |
US20240012897A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9985786B1 (en) | Cross-device authentication | |
US10176315B2 (en) | Graphical authentication | |
US10439818B2 (en) | Captcha image generation method and apparatus, and server | |
EP2892198B1 (en) | Detecting and breaking captcha automation scripts and preventing image scraping | |
US20040073809A1 (en) | System and method for securing a user verification on a network using cursor control | |
CN103488934B (zh) | 一种验证码输入方法、装置及系统 | |
US8370926B1 (en) | Systems and methods for authenticating users | |
TWI573040B (zh) | 用於提供基於筆勢的使用者識別之系統及方法 | |
JP4547447B2 (ja) | パスワード認証装置およびパスワード認証方法 | |
CN107480502A (zh) | 指纹识别方法、装置、移动终端及存储介质 | |
EP2831801B1 (en) | Display authentication | |
US20140157382A1 (en) | Observable authentication methods and apparatus | |
EP2892003A1 (en) | Method and apparatus for input verification | |
KR101556599B1 (ko) | 패턴 입력 장치 및 방법과 이를 이용한 기록 매체 | |
CN108460268A (zh) | 验证方法及装置 | |
WO2021027150A1 (zh) | 服务器安全检测方法、装置、计算机设备和存储介质 | |
CN113422687B (zh) | 一种验证方法、验证服务器和验证系统 | |
CN112417419B (zh) | 一种验证码处理方法、装置、设备及存储介质 | |
KR101761513B1 (ko) | 이미지를 이용한 위변조 웹사이트 탐지 시스템 및 탐지방법 | |
EP3528152A1 (en) | Method and apparatus for user authentication | |
CN110597593B (zh) | 用户引导任务的处理方法、装置、计算机设备及存储介质 | |
CN111859322A (zh) | 身份验证方法、装置和电子设备 | |
CN111523106A (zh) | 基于汉字拆分的输入验证方法 | |
US10380331B2 (en) | Device authentication | |
KR101188016B1 (ko) | 진동을 이용한 패스워드 입력 방법 |
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 |