验证码数据处理方法、装置、电子设备以及存储介质与流程

未命名 09-15 阅读:97 评论:0


1.本公开涉及大数据技术领域,更具体地,涉及一种验证码数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.验证码(captcha,completely automated public turing test totell computers and humans apart)全称为全自动区分计算机和人类的图灵测试,起源于1997年的altavista,目的是阻止url的自动提交,其基本形式是:在每次向网页提交信息的时候,系统会自动随机产生一串数字或符号(即验证码),只有在指定的地方正确输入这些验证码才能成功提交信息。验证码技术能判断终端用户到底是人还是机器,网络请求是否为真实用户发起。
3.现有的验证码存在一定的问题,例如破解者会首先在网页上抓取验证码对应的图片,然后通过二值化、灰度、过滤,去干扰等数据预处理后,实现滑块自动定位,然后将两点之间的轨迹切分多段,不同区间段使用不同速度进行滑块滑动,从而自动模拟人为行为,从而实现对验证码的破解。


技术实现要素:

4.鉴于上述问题,本公开提供了验证码数据处理方法、装置、电子设备以及可读存储介质及计算机程序产品,可以在有效避免针对验证码的破解,提高验证码的安全性。
5.本公开的一个方面提供了一种验证码数据处理方法,应用于客户端,所述方法包括:向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;接收二进制的验证码数据,所述二进制的验证码数据是目标服务器响应所述验证码请求,根据随机获取的背景图片生成的,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;以及接收并展示验证结果,所述验证结果是缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度生成的。
6.在本公开的一些实施例中,所述二进制的验证码数据是响应所述验证码请求对验证码图片进行二进制处理生成的,所述验证码图片是根据随机获取的背景图片生成的。
7.在本公开的一些实施例中,所述验证码图片由背景图片、验证轨迹的起点和终点、多个折点以及每个折点的关联颜色生成的,所述背景图片是从预设图片数据库随机获取的,所述验证轨迹的起点和终点是根据所述背景图片的尺寸随机生成的,所述多个折点是根据所述验证轨迹的起点和终点随机生成的,每个折点的关联颜色是根据每个折点的折点排序确定的。
8.在本公开的一些实施例中,所述验证结果包括第一验证结果和第二验证结果,所
述第一验证结果是根据所述采样数据确定每个折点对应范围内的验证时长生成的;所述第二验证结果是根据所述采样数据确定每个折点对应范围内的验证速度生成的。
9.在本公开的一些实施例中,第一验证结果的生成过程包括:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。
10.在本公开的一些实施例中,第二验证结果的生成过程包括:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。
11.在本公开的一些实施例中,所述的方法还包括:在响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据之后,将与所述唯一标识关联的采样数据发送至缓存数据库。
12.本公开的一个方面提供了一种验证码数据处理方法,应用于数据处理系统,所述数据处理系统包括客户端、目标服务器以及缓存数据库,所述方法包括但不限于:通过客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;通过客户端根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;通过客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;以及通过客户端接收并展示所述验证结果。
13.在本公开的一些示例性实施例中,通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,包括:通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片;以及对所述验证码图片进行二进制处理,生成二进制的验证码数据。
14.在本公开的一些示例性实施例中,通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片,包括:通过目标服务器响应所述验证码请求,从预设图片数据库随机获取背景图片;根据所述背景图片的尺寸,随机生成验证轨迹的起点和终点;根据所述起点和终点,随机生成多个折点;根据每个折点的折点排序,确定每个折点的关联颜色;以及根据所述背景图片、起点、终点、多个折点以及每个折点的关联颜色,生成验证码图片。
15.在本公开的一些示例性实施例中,通过客户端根据接收的所述验证码数据,生成显示图片和验证提示,包括:通过客户端对接收的所述验证码数据进行解码操作,生成所述显示图片,所述显示图片包括所述验证轨迹的起点、终点以及多个折点,每个折点显示关联颜色;以及根据所述验证轨迹、每个折点的折点排序以及每个折点的关联颜色,生成所述验证提示。
16.在本公开的一些示例性实施例中,通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果,包括:通过缓存数据库接收采样数据;确定每个折点对应范围内的验证时长,生成第一验证结果;确定每个折点对应范围内的验证速度,生成第二验证结果;以及根据所述第一验证结果和所述第二验证结果,生成所述验证结果。
17.在本公开的一些示例性实施例中,确定每个折点对应范围内的验证时长,生成第一验证结果,包括:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。
18.在本公开的一些示例性实施例中,确定每个折点对应范围内的验证速度,生成第二验证结果,包括:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。
19.在本公开的一些示例性实施例中,所述的方法还包括:在根据随机获取的背景图片生成二进制的验证码数据之后,缓存数据库接收并存储由目标服务器发送的所述唯一标识和所述验证码数据;以及在客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据之后,缓存数据库接收并存储与所述唯一标识关联的采样数据。
20.在本公开的一些示例性实施例中,所述的方法还包括:通过缓存数据库响应验证结果为不通过的指令,删除所述唯一标识对应的所述验证码数据和所述采样数据。
21.在本公开的一些示例性实施例中,所述的方法还包括:通过目标服务器接收客户端提交的验证结果为通过的指令,根据所述唯一标识查询所述缓存数据库中的所述验证码数据和所述采样数据;若查询结果为正常,则接收客户端基于所述验证结果提交的业务数据;若查询结果为空,则拒绝接收客户端基于所述验证结果提交的业务数据。
22.本公开实施例的另一方面,提供了一种验证码数据处理装置,其中,包括:发送模块,配置为由客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;第一生成模块,配置为由目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;第二生成模块,配置为由客户端根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;第三生成模块,配置为由客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;第四生成模块,配置为由缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;以及展示模块,配置为由客户端接收并展示所述验证结果。
23.在本公开的一些示例性实施例中,第一生成模块包括第一生成子单元,配置成:目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片;以及对所述验证码图片进行二进制处理,生成二进制的验证码数据。
24.在本公开的一些示例性实施例中,第一生成子单元包括验证码图片生成模块,配置成:目标服务器响应所述验证码请求,从预设图片数据库随机获取背景图片;根据所述背景图片的尺寸,随机生成验证轨迹的起点和终点;根据所述起点和终点,随机生成多个折点;根据每个折点的折点排序,确定每个折点的关联颜色;以及根据所述背景图片、起点、终点、多个折点以及每个折点的关联颜色,生成验证码图片。
25.在本公开的一些示例性实施例中,第二生成单元包括:第二生成子单元,配置成:客户端对接收的所述验证码数据进行解码操作,生成所述显示图片,所述显示图片包括所述验证轨迹的起点、终点以及多个折点,每个折点显示关联颜色;以及根据所述验证轨迹、每个折点的折点排序以及每个折点的关联颜色,生成所述验证提示。
26.在本公开的一些示例性实施例中,第四生成单元包括:验证结果生成单元,配置成:由缓存数据库接收采样数据;确定每个折点对应范围内的验证时长,生成第一验证结果;确定每个折点对应范围内的验证速度,生成第二验证结果;以及根据所述第一验证结果和所述第二验证结果,生成所述验证结果。
27.在本公开的一些示例性实施例中,验证结果生成单元包括第一验证结果生成单元,配置成:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。
28.在本公开的一些示例性实施例中,验证结果生成单元包括第二验证结果生成单元,配置成:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。
29.在本公开的一些示例性实施例中,验证码数据处理装置还包括:存储模块,配置成:在根据随机获取的背景图片生成二进制的验证码数据之后,缓存数据库接收并存储由目标服务器发送的所述唯一标识和所述验证码数据;以及在客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据之后,缓存数据库接收并存储与所述唯一标识关联的采样数据。
30.在本公开的一些示例性实施例中,验证码数据处理装置还包括:删除模块,配置成:由缓存数据库响应验证结果为不通过的指令,删除所述唯一标识对应的所述验证码数据和所述采样数据。
31.在本公开的一些示例性实施例中,验证码数据处理装置还包括:查询模块,配置成:由目标服务器接收客户端提交的验证结果为通过的指令,根据所述唯一标识查询所述缓存数据库中的所述验证码数据和所述采样数据;若查询结果为正常,则接收客户端基于所述验证结果提交的业务数据;若查询结果为空,则拒绝接收客户端基于所述验证结果提交的业务数据。
32.本公开的另一方面提供了一种电子设备,包括一个或多个处理器以及存储装置,其中,存储装置用于存储可执行指令,可执行指令在被处理器执行时,实现如上的方法。
33.本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现如上的方法。
34.本公开的另一方面提供了一种计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现如上的方法。
35.根据本公开的实施例,通过随机获取背景图片生成二进制的验证码数据,避免被截获破解,提高安全性,通过将验证轨迹包括的多个折点设置为具有折点排序和关联颜色,可以避免针对图像进行二值化处理后的破解,根据确定每个折点对应范围内的验证时长和验证速度生成验证结果,可以有效提高验证结果的准确性,提高验证码破解难度。
附图说明
36.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
37.图1示意性示出了可以应用本公开实施例的验证码数据处理方法的系统架构的示意图;
38.图2a示意性示出了根据本公开一种实施例的验证码数据处理方法的流程图;
39.图2b示意性示出了根据本公开另一种实施例的验证码数据处理方法的流程图;
40.图3示意性示出了根据本公开实施例的验证码数据处理方法在操作s220的流程图;
41.图4a示意性示出了根据本公开实施例的验证码数据处理方法在操作s221的流程图;
42.图4b示意性示出了根据本公开实施例的验证码数据处理方法在操作s221的示意图;
43.图5示意性示出了根据本公开实施例的验证码数据处理方法在操作s230的流程图;
44.图6示意性示出了根据本公开实施例的验证码数据处理方法在操作s250的流程图;
45.图7a示意性示出了根据本公开实施例的验证码数据处理方法在操作s252的流程图;
46.图7b示意性示出了根据本公开实施例的验证码数据处理方法在操作s253的流程图;
47.图8示意性示出了根据本公开实施例的验证码数据处理方法还包括的存储验证码数据和采样数据的流程图;
48.图9示意性示出了根据本公开实施例的验证码数据处理方法还包括的操作s270的流程图;
49.图10示意性示出了根据本公开实施例的验证码数据处理方法还包括的对验证码数据和采样数据进行查询的流程图;
50.图11示意性示出了根据本公开一个实施例的验证码数据处理方法的过程示意图;
51.图12示意性示出了根据本公开另一个实施例的验证码数据处理方法的过程示意图;
52.图13a示意性示出了根据本公开一个实施例的验证码数据处理装置的方框图;
53.图13b示意性示出了根据本公开另一个实施例的验证码数据处理装置的方框图;
以及
54.图14示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
55.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
56.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
57.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
58.在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。
59.在本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
60.在本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等操作,均获得了用户的授权。
61.在本文中,术语“折点”是指在验证轨迹的起点和终点之间用于改变轨迹路线的点,在验证轨迹的起点和终点之间可以设置多个折点,从而使验证码具有不同的验证轨迹。
62.在本文中,术语“折点排序”是指从起点至终点的折点的排列顺序,每个折点具有坐标以及折点排序,从而可以确定验证轨迹的具体走向路径。
63.在现有技术中,为了阻止url的自动提交,一般采用滑块验证码,通过人为拖动验证码的方式实现验证。对于这种滑块验证方式,破解者通过抓取验证码图片,并针对图片进行二值化、灰度、过滤、取干扰等数据处理后,实现滑块的自动定位,并通过模拟人工滑动的方式实现对滑动验证码的破解。
64.为了解决现有技术的问题,本公开的实施例提供了验证码数据处理方法、装置、电子设备、可读存储介质及计算机程序产品,可以在有效避免针对验证码进行抓出进行的破解,提高验证码的安全性。本公开实施例的验证码数据处理方法包括但不限于:客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,唯一标识是根据目标用户的用户信息生成的;目标服务器响应验证码请求,根据随机获取的背景图片生成二进制的验证码数据,验证码数据包括验证轨迹,验证轨迹包括起点、终点以及多个折点,每个折点具有折点
排序和关联颜色;客户端根据接收的验证码数据,生成显示图片和验证提示,验证提示是根据每个折点的折点排序和关联颜色生成的;客户端响应目标用户根据显示图片和验证提示输入的内容,生成与唯一标识关联的采样数据;缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;以及客户端接收并展示验证结果。
65.根据本公开的实施例,通过随机获取背景图片生成二进制的验证码数据,可以有效避免目标服务器向客户端传输图片的过程中被截获破解的问题,二进制验证码数据破解难度更大。通过将验证轨迹包括的多个折点设置成具有折点排序和关联颜色,以及根据折点排序和关联颜色生成验证提示,可以有效避免在针对验证码图片进行二值化处理的破解。在接收目标用户输入进行验证过程中,通过基于每个折点对应范围内的验证时长和验证速度生成验证结果,可以避免对滑块滑动的过程进行模拟而实现破解的问题,从而提高验证码的安全性。
66.图1示意性示出了可以应用本公开实施例的验证码数据处理方法的系统架构的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。需要说明的是,本公开实施例提供的验证码数据处理方法可用于大数据技术领域、金融领域在大数据领域的相关方面,也可用于除金融领域之外的任意领域,本公开实施例提供的验证码数据处理方法和装置对应用领域不做限定。
67.如图1所示,可以应用验证码数据处理方法的示例性系统架构10可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
68.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如邮件客户端应用、文件处理类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
69.终端设备101、102、103可以是具有显示屏并且支持数据输入、文件发送、数据分析、数据处理、网页浏览等功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
70.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所获取的数据或浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。也可以是对用户发送的文件等进行分析或处理,并基于处理结果对终端设备进行控制等,例如限制终端设备的访问等。
71.需要说明的是,本公开实施例所提供的验证码数据处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的验证码数据处理装置一般可以设置于服务器105中。本公开实施例所提供的验证码数据处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的验证码数据处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
72.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
73.以下将通过图2a至图7对本公开实施例的验证码数据处理方法进行详细描述。
74.图2a示意性示出了根据本公开一种实施例的验证码数据处理方法的流程图。
75.如图2a所示,本公开的一种实施例的验证码数据处理方法应用于客户端,该方法的流程100包括操作s110至操作s150。
76.在本实施例中,该方法由客户端执行,具体地,在操作s110中,向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的。
77.在操作s120中,接收二进制的验证码数据,所述二进制的验证码数据是目标服务器响应所述验证码请求,根据随机获取的背景图片生成的,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色。
78.示例性地,所述二进制的验证码数据是响应所述验证码请求对验证码图片进行二进制处理生成的,所述验证码图片是根据随机获取的背景图片生成的。所述验证码图片由背景图片、验证轨迹的起点和终点、多个折点以及每个折点的关联颜色生成的,所述背景图片是从预设图片数据库随机获取的,所述验证轨迹的起点和终点是根据所述背景图片的尺寸随机生成的,所述多个折点是根据所述验证轨迹的起点和终点随机生成的,每个折点的关联颜色是根据每个折点的折点排序确定的。
79.在操作s130中,根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的。
80.在操作s140中,响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据。
81.在操作s150中,接收并展示验证结果,所述验证结果是缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度生成的。
82.示例性地,所述验证结果包括第一验证结果和第二验证结果,所述第一验证结果是根据所述采样数据确定每个折点对应范围内的验证时长生成的;所述第二验证结果是根据所述采样数据确定每个折点对应范围内的验证速度生成的。
83.第一验证结果的生成过程包括:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。
84.第二验证结果的生成过程包括:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。
85.图2b示意性示出了根据本公开另一个实施例的验证码数据处理方法的流程图。
86.如图2b所示,该验证码数据处理方法应用于数据处理系统,该数据处理系统包括客户端、目标服务器以及缓存数据库,本公开实施例的验证码数据处理方法的流程200包括操作s210至操作s260。
87.在操作s210中,通过客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,唯一标识是根据目标用户的用户信息生成的。
88.示例性地,客户端可以是终端设备(例如,手机、平板、pc等)上安装的应用软件(例如浏览器、聊天通讯软件等)。目标服务器可以是为用于对数据请求进行响应处理的且位于后端的服务设备。
89.在本公开的一些实施例中,目标用户在客户端向服务器提交信息时,首先需要进行验证,防止出现url自动提交的操作。客户端对页面进行加载,获取目标用户的用户信息,例如包括用户编号、浏览器信息、字体信息、时间戳等信息,对用户信息进行拼接,生成字符串,并对字符串使用加密算法生成唯一标识。唯一标识用于确定验证码请求与目标用户的关联关系。
90.目标用户同时通过客户端向目标服务器发送验证码请求,目标服务器在接收到验证码请求后,生成验证码数据,便于目标用户在客户端进行验证操作。
91.在操作s220中,通过目标服务器响应验证码请求,根据随机获取的背景图片生成二进制的验证码数据,验证码数据包括验证轨迹,验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色。
92.示例性地,目标服务器根据接收的验证码请求,生成验证码数据。验证码数据是根据验证码请求首先生成验证码图片,然后在对验证码图片进行处理,生成二进制验证码数据。
93.验证码图片中包含有验证轨迹,验证轨迹具有起点、终点以及在起点和终点之间的多个折点,多个折点用于确定验证轨迹的走向或路径,折点的数量根据实际的需求可以进行修改设定,例如折点可以包括2个、3个、4个或者更多个。每个折点具有折点排序和关联颜色,具体地,例如折点设置为3个,例如第一个折点为a1,第二个折点为a2,第三个折点为a3,根据折点排序以及验证轨迹的起点和终点可以确定验证轨迹的路径,即验证轨迹的顺序是起点

第一折点a1

第二折点a2

第三折点a3

终点。在进行验证时必须按照上述的验证轨迹进行验证才能通过验证。每个折点具有关联颜色,用于生成验证提示,目标用户可以根据验证提示进行验证。由于折点具有关联颜色,目标用户可以对颜色进行有效识别,而现有技术针对验证码破解的过程中,主要针对生成的验证码图片进行抓取、二值化、灰度、过滤、去干扰等数据处理后,实现自动定位以实现验证的目的。本公开针对每个折点设置关联颜色,在采用二值化、灰度、过滤、去干扰等数据处理后,将无法辨别折点的关联颜色,从而防止针对本公开验证码图片进行破解。
94.通过生成二进制的验证码数据,从而在验证码数据传输的过程中,即使被截获,由于二进制验证码数据无法明确获知验证码图片的内容,从而提升破解难度,提高验证码数据的安全性。
95.在操作s230中,通过客户端根据接收的验证码数据,生成显示图片和验证提示,验证提示是根据每个折点的折点排序和关联颜色生成的。
96.在本公开的一些示例性实施例中,客户端接收验证码数据生成显示图片,该显示图片例如可以显示验证轨迹的起点的位置、终点的位置、每个折点的位置以及每个折点对应的关联颜色。
97.验证提示信息是根据折点排序和关联颜色生成的。例如,第一个折点为a1,第二个
折点为a2,第三个折点为a3对应的关联颜色分别为蓝色、黄色、红色,则生成的提示信息例如可以是“从起点依次将滑块通过蓝色、黄色、红色,并到达终点”。目标用户可以根据显示图片上显示的内容以及验证提示完成验证操作。
98.在操作s240中,通过客户端响应目标用户根据显示图片和验证提示输入的内容,生成与唯一标识关联的采样数据。
99.在本公开的一些示例性实施例中,在目标用户根据验证提示进行验证操作输入的过程中,记录目标用户的输入的内容,生成采样数据,该采样数据用于验证具有唯一标识的目标用户是否通过。
100.在操作s250中,通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果。
101.在本公开的一些实施例中,通过确定每个设点对应范围内的验证时长,从而可以确定目标用户在验证过程中依次通过折点的顺序,从而判断验证轨迹是否正确,通过确定每个折点对应范围内的验证速度,从而判断该验证为人工验证还是机器验证,从而防止机器验证导致验证码功能失效的问题。
102.在操作s260中,通过客户端接收并展示验证结果。
103.根据本公开的实施例,通过随机获取背景图片生成二进制的验证码数据,避免被截获破解,提高安全性,通过将验证轨迹包括的多个折点设置为具有折点排序和关联颜色,可以避免针对图像进行二值化处理后的破解,根据确定每个折点对应范围内的验证时长和验证速度生成验证结果,可以有效提高验证结果的准确性,提高验证码破解难度。
104.下面结合图3至图10对本公开实施例的验证码数据处理方法的具体内容进行详细说明。
105.图3示意性示出了根据本公开实施例的验证码数据处理方法在操作s220的流程图。
106.如图3所示,操作s220包括操作s221至操作s222。
107.在操作s221中,通过目标服务器响应验证码请求,根据随机获取的背景图片生成验证码图片。
108.示例性地,背景图片例如是存储在预设图片数据库中的图片,背景图片的大小尺寸、分辨率均不一致,通过随机获取背景图片,生成验证码图片的大小、验证轨迹等参数均存在随机性,可以有效避免验证码图片被破解,提高安全性。
109.在操作s222中,对验证码图片进行二进制处理,生成二进制的验证码数据。
110.示例性地,目标服务器在生成验证码图片后,需要发送至客户端进行显示,若发送验证码图片,则容易被截获,并针对截获的内容进行机器处理从而实现破解的目的。通过对验证码图片进行二进制处理,以生成二进制的验证码数据,无法有效获取验证码图片,提高从目标服务器向客户端传输数据的安全性,进一步提高破解难度。
111.在一些可选的实施例中,还可以采用针对二进制的验证码数据进行加密处理,客户端在接收到二进制的验证码数据后,进行解密处理,可以进一步提高数据传输的安全性。
112.图4a示意性示出了根据本公开实施例的验证码数据处理方法在操作s221的流程图。图4b示意性示出了根据本公开实施例的验证码数据处理方法在操作s221的示意图。
113.如图4a所示,操作s221包括操作s2211至操作s2215。
114.在操作s2211中,通过目标服务器响应验证码请求,从预设图片数据库随机获取背景图片。
115.预设图片数据库例如可以是互联网图片数据库,从互联网图片数据库中实时获取背景图片,可以保证数据的更新,避免破解者针对特定数据库进行破解的风险。
116.在操作s2212中,根据背景图片的尺寸,随机生成验证轨迹的起点和终点。
117.示例性地,当背景图片的尺寸不同,起点和终点之间的间距也不同,在获取背景图片的尺寸后,根据背景图片的二维横纵坐标,随机生成验证轨迹的起点的位置坐标(x0,y0)和终点的位置坐标(x4,y4)。
118.在操作s2213中,根据起点和终点,随机生成多个折点。
119.示例性地,可以根据背景图片的尺寸大小来确定生成的折点的数目,当背景图片的尺寸较大,则可以生成较多的折点,当背景图片的尺寸较小,则可以生成较少的折点。例如确定生成折点的数目为3。分别在起点对应的坐标位置(x0,y0)和终点对应的坐标位置(x4,y4)之间,生成3个折点的坐标,即第一个折点a1为(x1,y1),第二个折点a2为(x2,y2),第三个折点a3为(x3,y3)。每个折点具有关联颜色,
120.在操作s2214中,根据每个折点的折点排序,确定每个折点的关联颜色。
121.例如第一个折点为a1,第二个折点为a2,第三个折点为a3对应的关联颜色分别为蓝色b、黄色y、红色r。通过确定每个设点的关联颜色,便于生成验证提示,使目标用户根据验证提示进行正确的验证操作。
122.在操作s2215中,根据背景图片、起点、终点、多个折点以及每个折点的关联颜色,生成验证码图片。
123.示例性地,生成验证码图片上具有起点、终点多个折点以及每个折点的关联颜色,验证码图片中并没有给出如图4b所示虚线的验证轨迹,该验证轨迹可以是目标用户根据验证提示操作滑块输入得到的。
124.图5示意性示出了根据本公开实施例的验证码数据处理方法在操作s230的流程图。
125.如图5所示,操作s230包括操作s231至操作s232。
126.在操作s231中,通过客户端对接收的验证码数据进行解码操作,生成显示图片,显示图片包括验证轨迹的起点、终点以及多个折点,每个折点显示关联颜色。
127.示例性地,客户端对接收的验证码数据进行解码得到显示图片,该显示图片用户在客户端向用户进行展示,显示图片显示的内容可以与目标服务器生成的验证码图片的内容一致。此外,客户端在生成显示图片时,会同时在验证轨迹的起点位置显示滑块,滑块例如可以与起点位置重合,目标用户可以针对滑块进行滑动从而绘制出滑块的移动轨迹。
128.在操作s232中,根据验证轨迹、每个折点的折点排序以及每个折点的关联颜色,生成验证提示。
129.示例性地,折点排序依次为第一个折点a1、第二个折点a2、第三个折点a3,并且第一个折点a1的关联颜色为蓝色b,第二个折点a2的关联颜色为黄色y,第三个折点a3的关联颜色为红色r,则生成的验证提示可以为“请依次划过蓝、黄、红三个折点,最终到达终点”,该验证提示可以显示在显示图片的周侧,例如下侧。
130.图6示意性示出了根据本公开实施例的验证码数据处理方法在操作s250的流程
图。
131.如图6所示,操作s250包括操作s251至操作s254。
132.在操作s251中,通过缓存数据库接收采样数据。
133.在操作s252中,确定每个折点对应范围内的验证时长,生成第一验证结果。
134.在操作s253中,确定每个折点对应范围内的验证速度,生成第二验证结果。
135.在操作s254中,根据第一验证结果和第二验证结果,生成验证结果。
136.图7a示意性示出了根据本公开实施例的验证码数据处理方法在操作s252的流程图。图7b示意性示出了根据本公开实施例的验证码数据处理方法在操作s253的流程图。
137.下面结合图7a和图7b进行详细说明,如图7a所示,操作s252包括操作s2521至操作s2524。
138.在操作s2521中,根据采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离。
139.在目标用户根据验证提示操纵滑块移动的过程中,可以按照设定采样速度对滑块的移动数据进行采样。例如,每隔5ms采集滑块的位置信息。
140.每个采样点对应的坐标数据为(xn,yn),计算采样点与折点的采样距离:m=(x
n-x1)2+(y
n-y1)2。
141.在操作s2522中,将与折点的采样距离最小的采样点确定为折点对应范围内的目标采样点。
142.在本实施例中,由于采样的间隔固定,在进行采样过程中,采样点并不是完全与折点重合,通过将与折点的采样距离最小的采样点确定为目标采样点,此时可以近似认为在该目标采样点时,滑块通过对应折点的位置。
143.在操作s2523中,将从起点至目标采样点的时长确定为折点对应范围内的验证时长。
144.示例性地,例如起点时间为0,从起点位置到折点对应的目标采样点的时间为t。例如折点为3个,第一个折点a1对应的验证时长为t1、第二个折点a2对应的验证时长为t2、第三个折点a3对应的验证时长为t3,即滑块从起点滑动至每个折点所需要的时间。
145.在操作s2524中,根据每个折点对应范围内的验证时长与折点排序的关系生成第一验证结果。
146.例如,第一个折点a1、第二个折点a2、第三个折点a3的折点排序分别为1<2<3,并且第一个折点a1、第二个折点a2、第三个折点a3对应的验证时长t1<t2<t3。即滑块在滑动时依次通过第一个折点a1、第二个折点a2、第三个折点a3。
147.在本公开的一些可选的实施例中,由于目标用户根据验证提示操纵滑块移动时,不同的人员操纵的时间或速度不同,然而,验证时间过程可能存在一定的问题。对于最后一个折点的验证时长,可以设定一个限制值,当最后一个折点的验证时长超过该阈值,则可以直接返回验证不通过的第一验证结果,从而保证验证过程中的安全性。
148.若每个折点对应范围内的验证时长与折点排序的关系相一致,则生成第一验证结果为验证通过。
149.若每个折点对应范围内的验证时长与折点排序的关系相不一致,则生成第一验证结果为验证不通过。
150.在第一验证结果为通过后,执行操作s253。否则返回验证失败的结果。
151.如图7b所示,操作s253包括操作s2531至操作s2533。
152.在操作s2531中,根据接收的采样数据,确定折点对应范围内的目标采样点的验证速度。
153.例如,在确定了目标采样点后,确定滑块在滑动至目标采样点的速度为验证速度,该验证速度可以标识滑块在滑动至折点附近的速度。在可选的实施例中,也可以是确定包含目标采样点以及相邻两侧的采样点的三个采样点的平均速度,可以更准确的反应滑块在滑动至折点附近的速度。
154.在操作s2532中,确定折点的前一时段的验证轨迹的平均速度。
155.示例性地,折点的前一时段的验证轨迹的平均速度可以是指起点至第一折点的平均速度、第一折点至第二折点的平均速度、第二折点至第三折点的平均速度
……
、临近终点的折点至终点的平均速度。
156.在操作s2533中,根据每个折点的验证速度与平均速度之间的关系,生成第二验证结果。
157.在本公开的一些实施例中,由于折点的位置为验证轨迹转向的位置,在进行人工验证的过程中,滑块在通过折点的速度小于折点迁移时段的验证轨迹的平均速度。通过比较验证轨迹中每一段的平均速度与折点的验证速度,从而实现准确的验证,有效避免破解者针对滑块的滑动方式进行破解。
158.在本公开的一些实施例中,当第一验证结果为通过且第二验证结果也为通过时,则根据第一验证结果和第二验证结果生成验证结果,该验证结果为通过。当第一验证结果和第二验证结果中的至少一个为不通过时,则该验证结果为不通过。
159.在一些可选的实施例中,当第一验证结果为不通过时,可以不执行上文所述的操作s253的步骤,直接生成验证结果为不通过,从而提高效率。
160.图8示意性示出了根据本公开实施例的验证码数据处理方法还包括的存储验证码数据和采样数据的流程图。
161.如图8所示,流程300包括操作s3 10至操作s320。
162.在操作s310中,在根据随机获取的背景图片生成二进制的验证码数据之后,缓存数据库接收并存储由目标服务器发送的唯一标识和验证码数据。
163.在操作s320中,在客户端响应目标用户根据显示图片和验证提示输入的内容,生成与唯一标识关联的采样数据之后,缓存数据库接收并存储与唯一标识关联的采样数据。
164.在本公开的实施例中,通过执行操作s310以及操作s320,将唯一标识、验证码数据以及采样数据发送至缓存数据库,便于在验证通过后,通过查询相关数据是否存在,从而判断客户端提交的业务数据是否正常。例如,当客户端通过拦截目标服务器返回的验证结果,并提交虚假的验证结果时,目标服务器无法进行有效判断,而通过查询缓存数据缓存的数据,可以有效判断验证结果的真伪。
165.图9示意性示出了根据本公开实施例的验证码数据处理方法还包括的操作s270的流程图。
166.如图9所示,验证码数据处理方法还包括操作270:通过缓存数据库响应验证结果为不通过的指令,删除唯一标识对应的验证码数据和采样数据。
167.在本公开的实施例中,当验证结果为不通过时,删除缓存数据库存储的采样数据,从而避免验证结果不通过时,客户端通过提交虚假的验证结果实现破解的目的。本公开的实施例中,当目标服务器接收客户端提交的验证结果为通过的指令,根据唯一标识查询缓存数据库中的验证码数据和采样数据,以确保该验证结果的准确性,若该验证结果为伪造的,可以及时制止,提高安全性。
168.图10示意性示出了根据本公开实施例的验证码数据处理方法还包括的对验证码数据和采样数据进行查询的流程图。
169.如图10所示,流程400还包括操作s410、操作s411以及操作s412。
170.在操作s4 10中,通过目标服务器接收客户端提交的验证结果为通过的指令,根据唯一标识查询缓存数据库中的验证码数据和采样数据。
171.在操作s411中,若查询结果为正常,则接收客户端基于验证结果提交的业务数据。
172.在操作s412中,若查询结果为空,则拒绝接收客户端基于验证结果提交的业务数据。
173.根据本公开的实施例,通过查询缓存数据库中的验证码数据和采样数据,从而判断验证结果的准确性,防止客户端提交的验证结果被伪造,提高验证码数据的安全性。
174.图11示意性示出了根据本公开一个实施例的验证码数据处理方法的过程示意图。图12示意性示出了根据本公开另一个实施例的验证码数据处理方法的过程示意图。
175.如图11所示,其示例性示出了一种具体的实施例,具体示出了滑块验证码生成以及验证码数据校验的过程。
176.下面结合图11对验证码数据处理方法的过程进行说明:
177.步骤1,客户端的浏览器加载页面,根据客户信息(客户编号,浏览器名称,字体信息,时间戳等信息)拼成字符串后,使用sha1哈希算法,生成uuid(全局唯一标识符),向后端服务器发送uuid和获取验证码请求。
178.步骤2:后端服务器接收到生成验证码请求后,后端服务器根据背景图片二维横纵坐标,随机生成滑块起始位置坐标(x0,y0)和终点位置坐标(x4,y4),后端服务器在x轴坐标x0至x4位置之间随机生成3个坐标;在y轴坐标y0至y4之间随机生成3个坐标,由此生成三个折点(x1,y1),(x2,y2),(x3,y3)。三个折点分别对应红黄蓝三色,最终生成验证码。
179.步骤3:将uuid,验证码等内容保存至分布式缓存数据库。
180.步骤4:将验证码以二进制流格式的验证码发送给客户端。
181.步骤5:客户端将二进制流格式的验证码转换为图片并展示给用户。
182.步骤6:用户根据客户端显示的验证码图片以及验证提示滑动滑块进行验证输入。
183.步骤7:客户端的浏览器使用ajax接口将uuid和每隔5ms采集的滑块位置的采样点坐标信息异步发送后端服务器。
184.步骤8:后端服务器将uuid和采样点坐标发送至分布式缓存数据库。
185.步骤9:分布式缓存数据库进行校验码校验,若结果为真,数据库记录校验通过,若结果为假,数据库清空存储的uuid对应的数据。
186.步骤10:数据库将验证结果返回给后端服务器。
187.如图12所示,其示例性示出了另一中具体的实施例,具体示出了目标用户身份校验及客户端提交数据进行后续业务的过程。
188.步骤11:后端服务器将验证结果返回给客户端的浏览器。
189.步骤12:客户端的浏览器根据验证结果确定是否提交业务数据。若验证结果为真,执行步骤13,若验证结果为假,则校验失败,不允许提交业务数据。
190.步骤13:允许用户提交业务数据,并附带uuid信息。
191.步骤14,分布式缓存数据库校验uuid,查询缓存数据库中的验证码数据和采样数据,若校验uuid的结果为假,则验证不通过,终止业务,若校验uuid的结果为真,执行步骤15。
192.步骤15,后端服务器进行后续的业务处理,例如接收客户端提交的业务数据并进行处理。
193.根据本公开的实施例,通过随机获取背景图片生成二进制的验证码数据,避免被截获破解,提高安全性,通过将验证轨迹包括的多个折点设置为具有折点排序和关联颜色,可以避免针对图像进行二值化处理后的破解,根据确定每个折点对应范围内的验证时长和验证速度生成验证结果,可以有效提高验证结果的准确性,提高验证码破解难度。
194.图13a示意性示出了根据本公开一个实施例的验证码数据处理装置的方框图。
195.本公开的另一方面提供了一种验证码数据处理装置500,位于客户端中。
196.如图13a所示,验证码数据处理装置500包括第一模块501、第二模块502、第三模块503、第四模块504以及第五模块505。
197.第一模块501,配置为向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;在一实施例中,第一模块501可以用于执行前文描述的操作s110,在此不再赘述。
198.第二模块502,配置为接收二进制的验证码数据,所述二进制的验证码数据是目标服务器响应所述验证码请求,根据随机获取的背景图片生成的,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;在一实施例中,第二模块502可以用于执行前文描述的操作s120,在此不再赘述。
199.第三模块503,配置为根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;在一实施例中,第三模块503可以用于执行前文描述的操作s130,在此不再赘述。
200.第四模块504,配置为响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;在一实施例中,第四模块504可以用于执行前文描述的操作s140,在此不再赘述。
201.第五模块505,配置为接收并展示验证结果,所述验证结果是缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度生成的。在一实施例中,第五模块505可以用于执行前文描述的操作s150,在此不再赘述。
202.图13b示意性示出了根据本公开另一个实施例的验证码数据处理装置的方框图。
203.本公开的另一方面提供了一种验证码数据处理装置510。
204.如图13b所示,验证码数据处理装置510包括发送模块511、第一生成模块512、第二生成模块513、第三生成模块514、第四生成模块515、展示模块516。
205.发送模块511配置通过由客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,唯一标识是根据目标用户的用户信息生成的。在一实施例中,发送模块511可以
用于执行前文描述的操作s210,在此不再赘述。
206.第一生成模块512配置通过由目标服务器响应验证码请求,根据随机获取的背景图片生成二进制的验证码数据,验证码数据包括验证轨迹,验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色。在一实施例中,第一生成模块512可以用于执行前文描述的操作s220,在此不再赘述。
207.第二生成模块513配置为通过客户端根据接收的验证码数据,生成显示图片和验证提示,验证提示是根据每个折点的折点排序和关联颜色生成的。在一实施例中,第二生成模块513可以用于执行前文描述的操作s230,在此不再赘述。
208.第三生成模块514配置为通过客户端响应目标用户根据显示图片和验证提示输入的内容,生成与唯一标识关联的采样数据。在一实施例中,第三生成模块514可以用于执行前文描述的操作s240,在此不再赘述。
209.第四生成模块515配置为通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果。在一实施例中,第四生成模块515可以用于执行前文描述的操作s250,在此不再赘述。
210.展示模块516配置为通过客户端接收并展示验证结果。在一实施例中,展示模块516可以用于执行前文描述的操作s260,在此不再赘述。
211.在本公开的一些示例性实施例中,第一生成模块包括第一生成子单元,配置成:目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片;以及对所述验证码图片进行二进制处理,生成二进制的验证码数据。
212.在本公开的一些示例性实施例中,第一生成子单元包括验证码图片生成模块,配置成:目标服务器响应所述验证码请求,从预设图片数据库随机获取背景图片;根据所述背景图片的尺寸,随机生成验证轨迹的起点和终点;根据所述起点和终点,随机生成多个折点;根据每个折点的折点排序,确定每个折点的关联颜色;以及根据所述背景图片、起点、终点、多个折点以及每个折点的关联颜色,生成验证码图片。
213.在本公开的一些示例性实施例中,第二生成单元包括:第二生成子单元,配置成:客户端对接收的所述验证码数据进行解码操作,生成所述显示图片,所述显示图片包括所述验证轨迹的起点、终点以及多个折点,每个折点显示关联颜色;以及根据所述验证轨迹、每个折点的折点排序以及每个折点的关联颜色,生成所述验证提示。
214.在本公开的一些示例性实施例中,第四生成单元包括:验证结果生成单元,配置成:由缓存数据库接收采样数据;确定每个折点对应范围内的验证时长,生成第一验证结果;确定每个折点对应范围内的验证速度,生成第二验证结果;以及根据所述第一验证结果和所述第二验证结果,生成所述验证结果。
215.在本公开的一些示例性实施例中,验证结果生成单元包括第一验证结果生成单元,配置成:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。
216.在本公开的一些示例性实施例中,验证结果生成单元包括第二验证结果生成单元,配置成:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确
定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。
217.在本公开的一些示例性实施例中,验证码数据处理装置还包括:存储模块,配置成:在根据随机获取的背景图片生成二进制的验证码数据之后,缓存数据库接收并存储由目标服务器发送的所述唯一标识和所述验证码数据;以及在客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据之后,缓存数据库接收并存储与所述唯一标识关联的采样数据。
218.在本公开的一些示例性实施例中,验证码数据处理装置还包括:删除模块,配置成:由缓存数据库响应验证结果为不通过的指令,删除所述唯一标识对应的所述验证码数据和所述采样数据。
219.在本公开的一些示例性实施例中,验证码数据处理装置还包括:查询模块,配置成:由目标服务器接收客户端提交的验证结果为通过的指令,根据所述唯一标识查询所述缓存数据库中的所述验证码数据和所述采样数据;若查询结果为正常,则接收客户端基于所述验证结果提交的业务数据;若查询结果为空,则拒绝接收客户端基于所述验证结果提交的业务数据。
220.根据本公开的实施例,发送模块511、第一生成模块512、第二生成模块513、第三生成模块514、第四生成模块515、展示模块516中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,发送模块511、第一生成模块512、第二生成模块513、第三生成模块514、第四生成模块515、展示模块516中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,发送模块511、第一生成模块512、第二生成模块513、第三生成模块514、第四生成模块515、展示模块516中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
221.图14示意性示出了根据本公开实施例的电子设备的方框图。图14示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
222.如图14所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
223.在ram 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、rom 602以及ram 603通过总线604彼此相连。处理器601通过执行rom 602和/或ram 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 602和ram 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一
个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
224.根据本公开的实施例,电子设备600还可以包括输入/输出(i/o)接口605,输入/输出(i/o)接口605也连接至总线604。电子设备600还可以包括连接至i/o接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
225.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
226.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 602和/或ram 603和/或rom 602和ram 603以外的一个或多个存储器。
227.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
228.在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
229.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
230.在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
231.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备
上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
232.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
233.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
234.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

技术特征:
1.一种验证码数据处理方法,应用于数据处理系统,所述数据处理系统包括客户端、目标服务器以及缓存数据库,其中,所述方法包括:通过客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;通过客户端根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;通过客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;以及通过客户端接收并展示所述验证结果。2.根据权利要求1所述的方法,其中,通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,包括:通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片;以及对所述验证码图片进行二进制处理,生成二进制的验证码数据。3.根据权利要求2所述的方法,其中,通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成验证码图片,包括:通过目标服务器响应所述验证码请求,从预设图片数据库随机获取背景图片;根据所述背景图片的尺寸,随机生成验证轨迹的起点和终点;根据所述起点和终点,随机生成多个折点;根据每个折点的折点排序,确定每个折点的关联颜色;以及根据所述背景图片、起点、终点、多个折点以及每个折点的关联颜色,生成验证码图片。4.根据权利要求1所述的方法,其中,通过客户端根据接收的所述验证码数据,生成显示图片和验证提示,包括:通过客户端对接收的所述验证码数据进行解码操作,生成所述显示图片,所述显示图片包括所述验证轨迹的起点、终点以及多个折点,每个折点显示关联颜色;以及根据所述验证轨迹、每个折点的折点排序以及每个折点的关联颜色,生成所述验证提示。5.根据权利要求1所述的方法,其中,通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果,包括:通过缓存数据库接收采样数据;确定每个折点对应范围内的验证时长,生成第一验证结果;
确定每个折点对应范围内的验证速度,生成第二验证结果;以及根据所述第一验证结果和所述第二验证结果,生成所述验证结果。6.根据权利要求5所述的方法,其中,确定每个折点对应范围内的验证时长,生成第一验证结果,包括:根据所述采样数据中采样点对应的坐标数据,确定采样点与折点的采样距离;将与所述折点的采样距离最小的采样点确定为所述折点对应范围内的目标采样点;将从所述起点至所述目标采样点的时长确定为所述折点对应范围内的验证时长;以及根据每个折点对应范围内的所述验证时长与所述折点排序的关系生成第一验证结果。7.根据权利要求6所述的方法,其中,确定每个折点对应范围内的验证速度,生成第二验证结果,包括:根据接收的采样数据,确定所述折点对应范围内的目标采样点的验证速度;确定所述折点的前一时段的验证轨迹的平均速度;以及根据每个折点的所述验证速度与平均速度之间的关系,生成第二验证结果。8.根据权利要求1所述的方法,其中,还包括:在根据随机获取的背景图片生成二进制的验证码数据之后,缓存数据库接收并存储由目标服务器发送的所述唯一标识和所述验证码数据;以及在客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据之后,缓存数据库接收并存储与所述唯一标识关联的采样数据。9.根据权利要求8所述的方法,其中,还包括:通过缓存数据库响应验证结果为不通过的指令,删除所述唯一标识对应的所述验证码数据和所述采样数据。10.根据权利要求9所述的方法,其中,还包括:通过目标服务器接收客户端提交的验证结果为通过的指令,根据所述唯一标识查询所述缓存数据库中的所述验证码数据和所述采样数据;若查询结果为正常,则接收客户端基于所述验证结果提交的业务数据;若查询结果为空,则拒绝接收客户端基于所述验证结果提交的业务数据。11.一种验证码数据处理装置,其中,包括:发送模块,配置为通过客户端向目标服务器发送针对目标用户的验证码请求和唯一标识,所述唯一标识是根据所述目标用户的用户信息生成的;第一生成模块,配置为通过目标服务器响应所述验证码请求,根据随机获取的背景图片生成二进制的验证码数据,所述验证码数据包括验证轨迹,所述验证轨迹包括起点、终点以及多个折点,每个折点具有折点排序和关联颜色;第二生成模块,配置通过由客户端根据接收的所述验证码数据,生成显示图片和验证提示,所述验证提示是根据每个折点的折点排序和关联颜色生成的;第三生成模块,配置通过由客户端响应目标用户根据所述显示图片和所述验证提示输入的内容,生成与所述唯一标识关联的采样数据;第四生成模块,配置通过由缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;以及展示模块,配置通过由客户端接收并展示所述验证结果。
12.一个或多个处理器;存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据权利要求1至10中任一项所述的方法。13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时,实现根据权利要求1至10中任一项所述的方法。14.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至10中任一项所述的方法。

技术总结
本公开提供了一种验证码数据处理方法、装置、电子设备、介质,可用于大数据技术领域或金融领域,该方法包括:通过客户端向目标服务器发送针对目标用户的验证码请求和唯一标识;通过目标服务器响应验证码请求,生成二进制的验证码数据,验证码数据包括验证轨迹,验证轨迹包括起点、终点以及多个折点;通过客户端根据接收的验证码数据,生成显示图片和验证提示,验证提示是根据每个折点的折点排序和关联颜色生成的;通过客户端响应目标用户根据显示图片和验证提示输入的内容,生成与唯一标识关联的采样数据;通过缓存数据库根据接收的采样数据,确定每个折点对应范围内的验证时长和验证速度,生成验证结果;客户端接收并展示验证结果。果。果。


技术研发人员:从善峰 吴纯波 谭杰丰 李二超
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.06.21
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐