CN110674487A - 滑动验证码的验证方法和装置、存储介质、电子设备 - Google Patents

滑动验证码的验证方法和装置、存储介质、电子设备 Download PDF

Info

Publication number
CN110674487A
CN110674487A CN201910790271.4A CN201910790271A CN110674487A CN 110674487 A CN110674487 A CN 110674487A CN 201910790271 A CN201910790271 A CN 201910790271A CN 110674487 A CN110674487 A CN 110674487A
Authority
CN
China
Prior art keywords
code
track
sliding
determining
verification
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
CN201910790271.4A
Other languages
English (en)
Other versions
CN110674487B (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.)
Beijing Dike Technology Co Ltd
Original Assignee
Beijing Dike 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 Beijing Dike Technology Co Ltd filed Critical Beijing Dike Technology Co Ltd
Priority to CN201910790271.4A priority Critical patent/CN110674487B/zh
Publication of CN110674487A publication Critical patent/CN110674487A/zh
Application granted granted Critical
Publication of CN110674487B publication Critical patent/CN110674487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Abstract

本公开实施例公开了一种滑动验证码的验证方法和装置、存储介质、电子设备,其中,方法包括:识别待验证图像中缺口的位置;基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;基于所述至少一个轨迹用例确定一个输入轨迹;基于所述输入轨迹获得的输出参数,基于所述输出参数完成滑动验证码的验证,本实施例无需模拟浏览器,可直接基于输入轨迹获得输出参数,提升了验证速度,降低了滑动验证码的验证成本。

Description

滑动验证码的验证方法和装置、存储介质、电子设备
技术领域
本公开涉及验证码校验技术,尤其是一种滑动验证码的验证方法和装置、存储介质、电子设备。
背景技术
网络爬虫作为搜索引擎的核心技术,经常会面对来自被爬取网站的验证码校验,传统验证码通常为识别图片中的数字。但目前流行一种新兴的滑动验证码,滑动验证码展示给用户一个不完整的拼图,需要用户通过滑动拖拽的手段完成拼图,以此来完成验证。面对这种新兴的滑动验证码,传统网络爬虫识别验证的技术不能有效完成验证。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种滑动验证码的验证方法和装置、存储介质、电子设备。
根据本公开实施例的一个方面,提供了一种滑动验证码的验证方法,包括:
识别待验证图像中缺口的位置;
基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;
基于所述至少一个轨迹用例确定一个输入轨迹;
基于所述输入轨迹获得的输出参数,基于所述输出参数完成待验证图像的验证。
可选地,所述基于所述至少一个轨迹用例确定一个输入轨迹,包括:
对所述至少一个轨迹用例对应的Y轴坐标计算平均值,获得一个平均轨迹;
基于所述平均轨迹确定所述输入轨迹。
可选地,所述基于所述平均轨迹确定所述输入轨迹,包括:
对所述平均轨迹在Y轴坐标上进行随机抖动,获得一个输入轨迹。
可选地,所述基于所述输入轨迹获得加密的输出参数,包括:
将所述输入轨迹输入模拟滑动工具;
基于所述模拟滑动工具确定所述输出参数。
可选地,在所述基于所述输入轨迹获得加密的输出参数之前,还包括:
获取对包括滑动验证码的网页请求数据的网页请求对应的网页代码;
从所述网页代码中确定对应操作所述滑动验证码的代码片段;
基于所述代码片段确定所述模拟滑动工具。
可选地,所述从所述网页代码中获取对应操作所述滑动验证码的代码片段之前,还包括:
获取所述网页请求对所述滑动验证码进行操作的已知输出参数;
所述从所述网页代码中确定对应所述滑动验证码的代码片段,包括:
基于所述已知输出参数从所述网页代码中确定对应操作所述滑动验证码的代码片段。
可选地,所述基于所述已知输出参数从所述网页代码中确定对应操作所述滑动验证码的代码片段,包括:
基于所述已知输出参数从所述网页代码中查找确定所述代码片段的结束位置;
基于所述代码片段的结束位置反向查找,确定所述代码片段的开始位置;
基于所述开始位置和所述结束位置确定操作所述滑动验证码的代码片段。
可选地,所述基于所述代码片段确定所述模拟滑动工具,包括:
从所述网页代码中将所述代码片段提取出来,获得单独保存的代码片段;
对所述单独保存的代码片段进行封装,获得所述模拟滑动工具。
根据本公开实施例的另一方面,提供了一种滑动验证码的验证装置,包括:
缺口识别模块,用于识别待验证图像中缺口的位置;
轨迹用户获取模块,用于基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;
输入轨迹确定模块,用于基于所述至少一个轨迹用例确定一个输入轨迹;
参数验证模块,用于基于所述输入轨迹获得的输出参数,基于所述输出参数完成待验证图像的验证。
可选地,所述输入轨迹确定模块,具体用于对所述至少一个轨迹用例对应的Y轴坐标计算平均值,获得一个平均轨迹;基于所述平均轨迹确定所述输入轨迹。
可选地,所述输入轨迹确定模块在基于所述平均轨迹确定所述输入轨迹时,用于对所述平均轨迹在Y轴坐标上进行随机抖动,获得一个输入轨迹。
可选地,所述参数验证模块,包括:
轨迹输入单元,用于将所述输入轨迹输入模拟滑动工具;
参数输出单元,用于基于所述模拟滑动工具确定所述输出参数。
可选地,所述装置还包括:
代码获取模块,用于获取对包括滑动验证码的网页请求数据的网页请求对应的网页代码;
片段确定模块,用于从所述网页代码中确定对应操作所述滑动验证码的代码片段;
工具确定模块,用于基于所述代码片段确定所述模拟滑动工具。
可选地,所述装置还包括:
已知参数获取模块,用于获取所述网页请求对所述滑动验证码进行操作的已知输出参数;
所述片段确定模块,具体用于基于所述已知输出参数从所述网页代码中确定对应操作所述滑动验证码的代码片段。
可选地,所述片段确定模块,具体用于基于所述已知输出参数从所述网页代码中查找确定所述代码片段的结束位置;基于所述代码片段的结束位置反向查找,确定所述代码片段的开始位置;基于所述开始位置和所述结束位置确定操作所述滑动验证码的代码片段。
可选地,所述工具确定模块,具体用于从所述网页代码中将所述代码片段提取出来,获得单独保存的代码片段;对所述单独保存的代码片段进行封装,获得所述模拟滑动工具。
根据本公开实施例的又一方面,提供了计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的滑动验证码的验证方法。
根据本公开实施例的还一方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的滑动验证码的验证方法。
基于本公开上述实施例提供的一种滑动验证码的验证方法和装置、存储介质、电子设备,识别待验证图像中缺口的位置;基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;基于所述至少一个轨迹用例确定一个输入轨迹;基于所述输入轨迹获得的输出参数,基于所述输出参数完成滑动验证码的验证,本实施例无需模拟浏览器,可直接基于输入轨迹获得输出参数,提升了验证速度,降低了滑动验证码的验证成本。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的滑动验证码的验证方法的流程示意图。
图2是本公开图1所示的实施例中步骤106的一个流程示意图。
图3是本公开图1所示的实施例中步骤108的一个流程示意图。
图4是本公开另一示例性实施例提供的滑动验证码的验证方法的流程示意图。
图5是本公开图4所示的实施例中步骤408的一个流程示意图。
图6是本公开一示例性实施例提供的滑动验证码的验证装置的结构示意图。
图7是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,对于滑动验证码,现有技术的解决方案为:通过程序来模拟一个浏览器,然后加载出滑动验证,通过模拟浏览器的滑动事件来完成验证。但该方案至少存在以下问题:模拟浏览器会消耗大量资源,成本高,很难量产;并且因为轨迹都为算法生成导致轨迹单一,很容易被监测出验证过程为非人工验证,从而导致通过率的降低。
示例性方法
图1是本公开一示例性实施例提供的滑动验证码的验证方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括如下步骤:
步骤102,识别待验证图像中缺口的位置。
在一些可选实施例中,在需要获取网页信息之前,需要对网页中包括的滑动验证码进行验证,通常,滑动验证码为一个具有缺口的待验证图像,可选地,本实施例通过现有的图像识别技术(例如,OpenCV)识别待验证图像中的缺口的位置,可选地,确定待验证图像中缺口位置的像素,例如,缺口位置对应第40-45个像素。
步骤104,基于缺口的位置从数据库中预存的多个轨迹用例中获得缺口的位置对应的至少一个轨迹用例。
在一实施例中,在执行该步骤之前,通过采集获得对需验证图像中不同位置的缺口进行滑动验证的轨迹用例(例如,鼠标轨迹),采集的轨迹用例尽可能的覆盖图像中的所有像素,可选地,采集的轨迹用例可以是基于人工拖拽获得或者是基于其他大数据库中获得等,本实施例不限制获得数据库中多个轨迹用例的具体方式。
步骤106,基于至少一个轨迹用例确定一个输入轨迹。
由于数据库中存储了多个轨迹用例,其中,可能存在至少一个轨迹用例对应相同像素缺口的情况,此时,本实施例将所有对应该像素缺口的轨迹用例都获取到,并基于获得的至少一个轨迹用例确定一个输入轨迹,例如,选取一个轨迹用例作为输入轨迹,或者对至少一个轨迹用例求平均获得输入轨迹等。
步骤108,基于输入轨迹获得的输出参数,基于输出参数完成滑动验证码的验证。
可选地,将输出参数输入到包括待验证图像的网页中请求验证;例如,如果是在网页数据获取的过程中,通过验证后,将获得网页中的数据。
本公开上述实施例提供的一种滑动验证码的验证方法,识别待验证图像中缺口的位置;基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;基于所述至少一个轨迹用例确定一个输入轨迹;基于所述输入轨迹获得的输出参数,基于所述输出参数完成滑动验证码的验证,本实施例无需模拟浏览器,可直接基于输入轨迹获得输出参数,提升了验证速度,降低了滑动验证码的验证成本。
如图2所示,在上述图1所示实施例的基础上,步骤106可包括如下步骤:
步骤1061,对至少一个轨迹用例对应的Y轴坐标计算平均值,获得一个平均轨迹。
步骤1062,基于平均轨迹确定输入轨迹。
本实施例中,由于滑动验证码通常是在X轴上进行滑动,因此,获取轨迹用例时,是基于在X轴上的像素位置获取轨迹用例,此时,获得的至少一个轨迹用例在X轴上的像素位置相同,为了提高验证的通过率,本实施例对多个轨迹用例在Y轴坐标上计算平均值,以平均轨迹作为输入轨迹。
可选地,上述实施例中步骤1062可以包括:
对平均轨迹在Y轴坐标上进行随机抖动,获得一个输入轨迹。
例如,对平均轨迹在Y轴坐标进行±2像素的随机抖动。
本实施例通过随机抖动使多次基于相同的缺口位置,获得的输入轨迹在Y轴上的像素也不相同,增加了轨迹的多样性,克服了因为轨迹单一而被监测出验证过程为非人工验证的确定,本实施例提供的方法更接近人类的操作习惯,降低了被监测为非人工验证的概率,提高了滑动验证码的验证通过率。
如图3所示,在上述图1所示实施例的基础上,步骤108可包括如下步骤:
步骤1081,将输入轨迹输入模拟滑动工具。
步骤1082,基于模拟滑动工具确定输出参数。
本实施例提供了一种基于输入轨迹可以直接获得输出参数的模拟滑动工具,通过该模拟滑动工具可快速获得输出参数,提高了滑动验证码的验证速度。
图4是本公开另一示例性实施例提供的滑动验证码的验证方法的流程示意图。本实施例可应用在电子设备上,如图4所示,包括如下步骤:
步骤102,识别待验证图像中缺口的位置。
步骤104,基于缺口的位置从数据库中预存的多个轨迹用例中获得缺口的位置对应的至少一个轨迹用例。
步骤106,基于至少一个轨迹用例确定一个输入轨迹。
步骤407,获取对包括滑动验证码的网页请求数据的网页请求对应的网页代码。
可选地,本实施例中获得的网页代码是基于网页请求对该包括滑动验证码的网页进程处理获得的代码,即网页请求通过执行在后台运行的网页代码实现获取网页中的数据。
步骤408,从网页代码中确定对应操作滑动验证码的代码片段。
可选地,由于本实施例确定的模拟滑动工具仅针对滑动验证码的验证过程进行模拟,因此,本步骤从网页代码中获得操作滑动验证码对应的代码片段。
步骤409,基于代码片段确定模拟滑动工具。
步骤410,将输入轨迹输入模拟滑动工具,基于模拟滑动工具确定输出参数,基于输出参数完成滑动验证码的验证。
本实施例中,通过从网页代码中获取代码片段,并基于代码片段生成模拟滑动工具,以对应操作滑动验证码对应的代码片段确定的滑动工具可基于输出轨迹直接得到输出参数,无需如现有技术提供的方法一样模拟浏览器,加快了验证速度,降低了验证成本,可大规模的应用于搜索引擎中。
在一些可选实施例中,在执行步骤408之前,还可以包括:
获取网页请求对滑动验证码进行操作的已知输出参数。
此时,步骤408可包括:
基于已知输出参数从网页代码中确定对应操作滑动验证码的代码片段。
本实施例中,为了确定代码片段在网页代码中的位置,首先获取操作对应的输出参数,以该输出参数确定代码片段的位置。例如,首先需要分析滑动验证的http请求,获取http请求的参数,基于http请求的参数定位到发送http请求的JavaScript代码片段。
如图5所示,在上述图4所示实施例的基础上,步骤408可包括如下步骤:
步骤4081,基于已知输出参数从网页代码中查找确定代码片段的结束位置。
步骤4082,基于代码片段的结束位置反向查找,确定代码片段的开始位置。
步骤4083,基于开始位置和结束位置确定操作滑动验证码的代码片段。
可选地,本实施例基于输出参数确定的代码片段的结束位置,反向查找向上追溯,获得对滑动验证码开始处理对应的代码位置作为代码片段的开始位置,确定了开始位置和结束位置即可确定代码片段的位置,本实施例只需将加密代码片段抽取,并且当做黑盒处理即可。
例如,通过步骤408之前的步骤定位到的JavaScript代码片段和解析出的http请求参数,反向查找,获取参数加密的代码片段(这里值得注意的是,绝大部分代码无需解读其中用意,因为前段代码大多为加密混淆的代码,解读用意会耗费大量精力)。反向查找最终会找到浏览器事件捕捉,也就是获取用户鼠标轨迹,即对应代码片段的开始位置。
可选地,步骤409可包括:
从网页代码中将代码片段提取出来,获得单独保存的代码片段;
对单独保存的代码片段进行封装,获得模拟滑动工具。
可选地,本实施例将代码片段从网页代码中抽取出来,单独封装一个新的可执行的模拟滑动工具,例如,该模拟滑动工具可以为包括代码片段的可执行程序,例如,编写node脚本(nodeJs因为语法为JavaScript所以可以为抽取出的代码段提供执行环境),整合抽离的代码片段,获得模拟滑动工具。
本公开实施例提供的任一种滑动验证码的验证方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种滑动验证码的验证方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种滑动验证码的验证方法。下文不再赘述。
示例性装置
图6是本公开一示例性实施例提供的滑动验证码的验证装置的结构示意图。应用于服务端,如图6所示,本实施例包括:
缺口识别模块61,用于识别待验证图像中缺口的位置。
轨迹用户获取模块62,用于基于缺口的位置从数据库中预存的多个轨迹用例中获得缺口的位置对应的至少一个轨迹用例。
输入轨迹确定模块63,用于基于至少一个轨迹用例确定一个输入轨迹。
参数验证模块64,用于基于输入轨迹获得的输出参数,基于输出参数完成待验证图像的验证。
本公开上述实施例提供的一种滑动验证码的验证装置,识别待验证图像中缺口的位置;基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;基于所述至少一个轨迹用例确定一个输入轨迹;基于所述输入轨迹获得的输出参数,基于所述输出参数完成滑动验证码的验证,本实施例无需模拟浏览器,可直接基于输入轨迹获得输出参数,提升了验证速度,降低了滑动验证码的验证成本。
在一些可选实施例中,输入轨迹确定模块63,具体用于对至少一个轨迹用例对应的Y轴坐标计算平均值,获得一个平均轨迹;基于平均轨迹确定输入轨迹。
本实施例中,由于滑动验证码通常是在X轴上进行滑动,因此,获取轨迹用例时,是基于在X轴上的像素位置获取轨迹用例,此时,获得的至少一个轨迹用例在X轴上的像素位置相同,为了提高验证的通过率,本实施例对多个轨迹用例在Y轴坐标上计算平均值,以平均轨迹作为输入轨迹。
可选地,输入轨迹确定模块63在基于平均轨迹确定所述输入轨迹时,用于对平均轨迹在Y轴坐标上进行随机抖动,获得一个输入轨迹。
在一些可选实施例中,参数验证模块64,包括:
轨迹输入单元,用于将输入轨迹输入模拟滑动工具;
参数输出单元,用于基于模拟滑动工具确定输出参数。
本实施例提供了一种基于输入轨迹可以直接获得输出参数的模拟滑动工具,通过该模拟滑动工具可快速获得输出参数,提高了滑动验证码的验证速度。
可选地,本实施例提供的装置还包括:
代码获取模块,用于获取对包括滑动验证码的网页请求数据的网页请求对应的网页代码;
片段确定模块,用于从网页代码中确定对应操作滑动验证码的代码片段;
工具确定模块,用于基于代码片段确定模拟滑动工具。
可选地,本实施例提供的装置还包括:
已知参数获取模块,用于获取网页请求对滑动验证码进行操作的已知输出参数;
片段确定模块,具体用于基于已知输出参数从网页代码中确定对应操作滑动验证码的代码片段。
可选地,片段确定模块,具体用于基于已知输出参数从网页代码中查找确定代码片段的结束位置;基于代码片段的结束位置反向查找,确定代码片段的开始位置;基于开始位置和结束位置确定操作滑动验证码的代码片段。
可选地,工具确定模块,具体用于从网页代码中将代码片段提取出来,获得单独保存的代码片段;对单独保存的代码片段进行封装,获得模拟滑动工具。
示例性电子设备
下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图7图示了根据本公开实施例的电子设备的框图。
如图7所示,电子设备70包括一个或多个处理器71和存储器72。
处理器71可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本公开的各个实施例的滑动验证码的验证方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备70还可以包括:输入装置73和输出装置74,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备100或第二设备200时,该输入装置73可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置73可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。
此外,该输入设备73还可以包括例如键盘、鼠标等等。
该输出装置74可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备70中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的滑动验证码的验证方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的滑动验证码的验证方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (11)

1.一种滑动验证码的验证方法,其特征在于,包括:
识别待验证图像中缺口的位置;
基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;
基于所述至少一个轨迹用例确定一个输入轨迹;
基于所述输入轨迹获得的输出参数,基于所述输出参数完成待验证图像的验证。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个轨迹用例确定一个输入轨迹,包括:
对所述至少一个轨迹用例对应的Y轴坐标计算平均值,获得一个平均轨迹;
基于所述平均轨迹确定所述输入轨迹。
3.根据权利要求2所述的方法,其特征在于,所述基于所述平均轨迹确定所述输入轨迹,包括:
对所述平均轨迹在Y轴坐标上进行随机抖动,获得一个输入轨迹。
4.根据权利要求1-3任一所述的方法,其特征在于,所述基于所述输入轨迹获得加密的输出参数,包括:
将所述输入轨迹输入模拟滑动工具;
基于所述模拟滑动工具确定所述输出参数。
5.根据权利要求4所述的方法,其特征在于,在所述基于所述输入轨迹获得加密的输出参数之前,还包括:
获取对包括滑动验证码的网页请求数据的网页请求对应的网页代码;
从所述网页代码中确定对应操作所述滑动验证码的代码片段;
基于所述代码片段确定所述模拟滑动工具。
6.根据权利要求5所述的方法,其特征在于,所述从所述网页代码中获取对应操作所述滑动验证码的代码片段之前,还包括:
获取所述网页请求对所述滑动验证码进行操作的已知输出参数;
所述从所述网页代码中确定对应所述滑动验证码的代码片段,包括:
基于所述已知输出参数从所述网页代码中确定对应操作所述滑动验证码的代码片段。
7.根据权利要求6所述的方法,其特征在于,所述基于所述已知输出参数从所述网页代码中确定对应操作所述滑动验证码的代码片段,包括:
基于所述已知输出参数从所述网页代码中查找确定所述代码片段的结束位置;
基于所述代码片段的结束位置反向查找,确定所述代码片段的开始位置;
基于所述开始位置和所述结束位置确定操作所述滑动验证码的代码片段。
8.根据权利要求5-7所述的方法,其特征在于,所述基于所述代码片段确定所述模拟滑动工具,包括:
从所述网页代码中将所述代码片段提取出来,获得单独保存的代码片段;
对所述单独保存的代码片段进行封装,获得所述模拟滑动工具。
9.一种滑动验证码的验证装置,其特征在于,包括:
缺口识别模块,用于识别待验证图像中缺口的位置;
轨迹用户获取模块,用于基于所述缺口的位置从数据库中预存的多个轨迹用例中获得所述缺口的位置对应的至少一个轨迹用例;
输入轨迹确定模块,用于基于所述至少一个轨迹用例确定一个输入轨迹;
参数验证模块,用于基于所述输入轨迹获得的输出参数,基于所述输出参数完成待验证图像的验证。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8任一所述的滑动验证码的验证方法。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8任一所述的滑动验证码的验证方法。
CN201910790271.4A 2019-08-26 2019-08-26 滑动验证码的验证方法和装置、存储介质、电子设备 Active CN110674487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910790271.4A CN110674487B (zh) 2019-08-26 2019-08-26 滑动验证码的验证方法和装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910790271.4A CN110674487B (zh) 2019-08-26 2019-08-26 滑动验证码的验证方法和装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN110674487A true CN110674487A (zh) 2020-01-10
CN110674487B CN110674487B (zh) 2020-11-13

Family

ID=69075714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910790271.4A Active CN110674487B (zh) 2019-08-26 2019-08-26 滑动验证码的验证方法和装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN110674487B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784246A (zh) * 2021-01-28 2021-05-11 武汉悦学帮网络技术有限公司 滑块验证码验证方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395594A (zh) * 2017-07-21 2017-11-24 华东师范大学 一种拖拽验证码的自动识别方法
CN108280338A (zh) * 2018-01-12 2018-07-13 上海大学 一种滑动验证码的破解方法
CN108985041A (zh) * 2018-05-17 2018-12-11 厦门二五八网络科技集团股份有限公司 一种基于滑动验证的验证码识别输入方法及系统
CN109740337A (zh) * 2019-01-25 2019-05-10 宜人恒业科技发展(北京)有限公司 一种实现滑块验证码识别的方法及装置
CN109977650A (zh) * 2019-02-27 2019-07-05 深圳点猫科技有限公司 一种基于浏览器自动完成滑块验证的方法以及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395594A (zh) * 2017-07-21 2017-11-24 华东师范大学 一种拖拽验证码的自动识别方法
CN108280338A (zh) * 2018-01-12 2018-07-13 上海大学 一种滑动验证码的破解方法
CN108985041A (zh) * 2018-05-17 2018-12-11 厦门二五八网络科技集团股份有限公司 一种基于滑动验证的验证码识别输入方法及系统
CN109740337A (zh) * 2019-01-25 2019-05-10 宜人恒业科技发展(北京)有限公司 一种实现滑块验证码识别的方法及装置
CN109977650A (zh) * 2019-02-27 2019-07-05 深圳点猫科技有限公司 一种基于浏览器自动完成滑块验证的方法以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱林果: "滑块式验证码的破解方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
长沙7喜: "滑动验证码破解:Python Selenium2.0应用", 《HTTP://WWW.360DOC.COM/CONTENT/17/0623/11/5315_665775043.SHTML》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784246A (zh) * 2021-01-28 2021-05-11 武汉悦学帮网络技术有限公司 滑块验证码验证方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110674487B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN109376078B (zh) 移动应用的测试方法、终端设备及介质
JP6570663B2 (ja) フィッシングおよびブランド保護のためのシステムおよび方法
US20150244737A1 (en) Detecting malicious advertisements using source code analysis
US11960354B2 (en) Proactive learning of network software problems
US8893034B2 (en) Motion enabled multi-frame challenge-response test
US9690855B2 (en) Method and system for searching for a web document
CN108090351A (zh) 用于处理请求消息的方法和装置
US20150095305A1 (en) Detecting multistep operations when interacting with web applications
CN110659569A (zh) 电子签名方法、装置、存储介质及电子设备
US11356433B2 (en) System and method for detecting unauthorized activity at an electronic device
CN110414989A (zh) 异常检测方法及装置、电子设备和计算机可读存储介质
CN110659807B (zh) 一种基于链路的风险用户识别方法及装置
CN113761514A (zh) 一种云桌面多因子安全认证方法及系统
CN114157568B (zh) 一种浏览器安全访问方法、装置、设备及存储介质
CN110674487B (zh) 滑动验证码的验证方法和装置、存储介质、电子设备
CN106250755B (zh) 用于生成验证码的方法及装置
CN113568626A (zh) 动态打包、应用程序包开启方法、装置和电子设备
CN111314298A (zh) 验证识别方法和装置、电子设备和存储介质
CN110276183A (zh) 反向图灵验证方法及装置、存储介质、电子设备
US20230090108A1 (en) Systematic identification and masking of private data for replaying user sessions
CN115913671A (zh) 基于零信任网关的令牌注入访问方法、装置、电子设备和存储介质
CN113037746B (zh) 客户端指纹提取、身份识别和网络安全检测的方法及装置
US11546430B2 (en) Secure remote workspace
CN110636105B (zh) 树形图的获取方法和装置、存储介质、电子设备
CN103856476A (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