一种行为验证码的校验方法、装置和存储介质与流程

文档序号:20442054发布日期:2020-04-17 22:28阅读:106来源:国知局
一种行为验证码的校验方法、装置和存储介质与流程

本发明涉及计算机领域,尤其涉及一种行为验证码的校验方法、装置和存储介质。



背景技术:

随着互联网的快速发展,互联网安全领域的中,特别是银行网站,对安全的要求更高,于是在注册、登陆等页面不但有密码控件,而且还会有行为式验证。在同时存在时,就会发生一些不兼容的情况,密码控件会将行为式验证码遮挡,于是滑动验证码就会出现一个缺口,给用户的体验不太好。出现这种原因是由于web(worldwideweb,万维网)页面上的各个元素有层级关系,层级高的会将层级低的遮挡,因为密码控件的层级是最高的,所以会将行为式验证码遮挡。现有技术一般是将密码控件进行修改,使其层级变低。但是上述修改会对安全性有所降低,而且各种密码控件的版本不一致,修改起来不具有通用性。

因此,目前的行为式验证码的验证方式具有难以与其他密码控件兼容的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种行为验证码的校验方法、装置和存储介质,旨在解决目前的行为式验证码的验证方式具有难以与其他密码控件兼容的技术问题。

为实现上述目的,本发明提供一种行为验证码的校验方法,包括:在通过父页面接收到行为验证请求时,查找行为验证iframe;从查找到的行为验证iframe中获取已渲染的行为验证窗口页面;将所述行为验证窗口页面进行展示;获取用户基于所述行为验证窗口页面输入的行为验证码;对所述行为验证码进行行为校验。

可选地,所述在接收到行为验证请求时,查找行为验证iframe的步骤,具体包括:在通过父页面接收到行为验证请求时,遍历所述父页面的源代码,以查找行为验证iframe。

可选地,所述获取用户基于所述行为验证窗口页面输入的行为验证码的步骤,具体包括:通过视窗操作系统应用程序接口调取所述行为验证窗口页面接收的行为验证码,所述行为验证码为用户基于所述行为验证窗口页面输入。

可选地,所述在通过父页面接收到行为验证请求时,查找行为验证iframe的步骤之前,所述行为验证码的校验方法还包括:获取对父页面的加载请求;对行为验证窗口页面进行初始化。

可选地,所述对行为验证窗口页面进行初始化的步骤,具体包括:向网页服务器发起行为验证窗口页面的初始化请求,以使所述网页服务器反馈所述行为验证窗口页面的初始化数据;查找行为验证iframe,从查找到的行为验证iframe中获取行为验证窗口页面的初始化值;根据所述初始化数据和所述初始化值,初始化所述行为验证窗口页面;加载所述行为验证窗口页面,并将其在行为验证iframe中进行渲染。

可选地,所述在通过父页面接收到行为验证请求时,查找行为验证iframe的步骤之前,所述行为验证码的校验方法还包括:在通过父页面接收到用户发出的登陆请求时,生成行为验证请求。

可选地,所述在通过父页面接收到用户发出的登陆请求时,生成行为验证请求的步骤之前,所述行为验证码的校验方法还包括:接收用户通过密码控件输入的用户名信息和密码信息;接收用户发出的登陆请求;所述对所述行为验证码进行行为校验的步骤之后,所述行为验证码的校验方法还包括:对所述用户名信息和所述密码信息进行密码校验。

此外,为实现上述目的,本发明还提供一种行为验证码的校验装置,所述行为验证码的校验装置包括以下步骤:查找模块,用于在通过父页面接收到行为验证请求时,查找行为验证iframe;页面获取模块,用于从查找到的行为验证iframe中获取已渲染的行为验证窗口页面;展示模块,用于将所述行为验证窗口页面进行展示;验证码获取模块,用于获取用户基于所述行为验证窗口页面输入的行为验证码;校验模块,用于对所述行为验证码进行行为校验。

此外,为实现上述目的,本发明还提供一种行为验证码的校验装置,所述行为验证码的校验装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的行为验证码的校验程序,所述行为验证码的校验程序被所述处理器执行时实现如上述的行为验证码的校验方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有行为验证码的校验程序,所述行为验证码的校验程序被处理器执行时实现如上述的行为验证码的校验方法的步骤。

本发明实施例提出的一种行为验证码的校验方法、装置和存储介质,在通过父页面接收到行为验证请求时,查找行为验证iframe,从查找到的行为验证iframe中获取已渲染的行为验证窗口页面,将所述行为验证窗口页面进行展示,获取用户基于所述行为验证窗口页面输入的行为验证码,从而对所述行为验证码进行行为校验;通过上述的行为验证码的校验方法,只需要调用行为验证iframe,让行为验证iframe内的行为验证窗口页面与父页面进行通信,从而使得行为验证码的校验兼容性高,能够有效兼容其它密码控件的密码验证。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的浏览器的结构示意图;

图2为本发明行为验证码的校验方法实施例的流程示意图;

图3为图2中本发明行为验证码的校验方法实施例的步骤s202之前的步骤流程示意图;

图4为图3中本发明行为验证码的校验方法实施例的步骤s304的细化流程示意图;

图5为图2中本发明行为验证码的校验方法实施例的步骤s202之前的步骤流程示意图;

图6为图5中本发明行为验证码的校验方法实施例的步骤s502之前的步骤流程示意图;

图7为图2中本发明行为验证码的校验方法实施例的步骤s210之后的步骤流程示意图;

图8为本发明行为验证码的校验装置实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的浏览器的结构示意图。

本发明实施例的浏览器的运行环境可以是pc(personalcomputer,个人计算机),也可以是智能手机、平板电脑、电子书阅读器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、mp4(movingpictureexpertsgroupaudiolayerv,动态影像专家压缩标准音频层面5)播放器、便携计算机等具有显示功能的可移动式设备。

如图1所示,该浏览器可以包括:处理器1001,例如cpu,存储器1003,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1003可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的浏览器结构并不构成对浏览器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1003中可以包括操作系统、网络通信模块、用户接口模块以及行为验证码的校验程序。处理器1001可以用于调用存储器1003中存储的行为验证码的校验程序,并执行以下操作:在通过父页面接收到行为验证请求时,查找行为验证iframe;从查找到的行为验证iframe中获取已渲染的行为验证窗口页面;将所述行为验证窗口页面进行展示;获取用户基于所述行为验证窗口页面输入的行为验证码;对所述行为验证码进行行为校验。

可选地,所述在接收到行为验证请求时,查找行为验证iframe的步骤,具体包括:在通过父页面接收到行为验证请求时,遍历所述父页面的源代码,以查找行为验证iframe。

可选地,所述获取用户基于所述行为验证窗口页面输入的行为验证码的步骤,具体包括:通过视窗操作系统应用程序接口调取所述行为验证窗口页面接收的行为验证码,所述行为验证码为用户基于所述行为验证窗口页面输入。

可选地,所述在通过父页面接收到行为验证请求时,查找行为验证iframe的步骤之前,所述行为验证码的校验方法还包括:获取对父页面的加载请求;对行为验证窗口页面进行初始化。

可选地,所述对行为验证窗口页面进行初始化的步骤,具体包括:向网页服务器发起行为验证窗口页面的初始化请求,以使所述网页服务器反馈所述行为验证窗口页面的初始化数据;查找行为验证iframe,从查找到的行为验证iframe中获取行为验证窗口页面的初始化值;根据所述初始化数据和所述初始化值,初始化所述行为验证窗口页面;加载所述行为验证窗口页面,并将其在行为验证iframe中进行渲染。

可选地,所述在通过父页面接收到行为验证请求时,查找行为验证iframe的步骤之前,所述行为验证码的校验方法还包括:在通过父页面接收到用户发出的登陆请求时,生成行为验证请求。

可选地,所述在通过父页面接收到用户发出的登陆请求时,生成行为验证请求的步骤之前,所述行为验证码的校验方法还包括:接收用户通过密码控件输入的用户名信息和密码信息;接收用户发出的登陆请求;所述对所述行为验证码进行行为校验的步骤之后,所述行为验证码的校验方法还包括:对所述用户名信息和所述密码信息进行密码校验。

参照图2,一种行为验证码的校验方法实施例,所述行为验证码的校验方法包括:

步骤s202,在通过父页面接收到行为验证请求时,查找行为验证iframe;

需要说明的是,浏览器在通过一个父页面接收到行为验证请求时,根据该行为验证请求查找行为验证iframe。其中,iframe是html(hypertextmarkuplanguage,超文本标记语言)标签,作用是文档中的文档,或者浮动的框架(frame)。iframe元素会创建包含另外一个文档的内联框架。

本实施例中,浏览器预先创建一个iframe,在其中写入行为验证窗口页面的初始化值,将该iframe作为行为验证iframe。

在其中一个实施例中,步骤s202,具体包括:在通过父页面接收到行为验证请求时,遍历所述父页面的源代码,以查找行为验证iframe。

需要说明的是,浏览器遍历接收到行为验证请求的父页面的源代码,从源代码中找到行为验证iframe。具体地,行为验证iframe具有特定的属性名,浏览器根据该属性名遍历父页面的源代码,从源代码中找到与该属性名匹配的行为验证iframe。

步骤s204,从查找到的行为验证iframe中获取已渲染的行为验证窗口页面;

需要说明的是,浏览器从查找到的行为验证iframe中获取已渲染的行为验证窗口页面,将其完整读取出。

步骤s206,将所述行为验证窗口页面进行展示;

进一步地,浏览器将该行为验证窗口页面输出至前端进行展示,以供用户浏览操作。

步骤s208,获取用户基于所述行为验证窗口页面输入的行为验证码;

需要说明的是,当用户基于行为验证窗口页面输入行为验证码后,浏览器获取该行为验证码。其中,用户输入的行为验证码为用户操作行为验证窗口页面的操作数据。例如当行为验证窗口页面所指示的行为验证方式为拼图验证时,则用户输入的行为验证码则包括用户滑动该滑块的滑动时间和最终滑块被用户放置的位置信息。

在其中一个实施例中,所述步骤s208,具体包括:通过视窗操作系统应用程序接口调取所述行为验证窗口页面接收的行为验证码,所述行为验证码为用户基于所述行为验证窗口页面输入。

可以理解的是,由于用户是基于行为验证窗口页面进行验证操作,则用户输入的行为验证码被行为验证窗口页面。浏览器的各页面通过浏览器内置的视窗操作系统应用程序接口(windowsapplicationprogramminginterface,winapi)进行数据通信。浏览器通过winapi调取验证窗口页面接收的行为验证码。而行为验证窗口页面存储于行为验证iframe中,则用户输入的行为验证码实际上是被行为验证iframe接收,浏览器调取行为验证iframe,从中读取出行为验证码。

步骤s210,对所述行为验证码进行行为校验。

需要说明的是,浏览器对该行为验证码进行行为校验,判断是否校验通过。其中,若行为验证窗口页面所指示的行为验证方式为拼图验证,初始化值包括拼图的缺口位置信息和预设时间,用户输入的行为验证码包括用户滑动该滑块的滑动时间和最终滑块被用户放置的位置信息,则浏览器比较该滑动时间和预设时间,判断该滑动时间是否大于等于预设时间,若是,则验证超时,生成验证失败的提示信息;若否,则进一步比较缺口位置信息和滑块被用户放置的位置信息,若两者一致,则判断验证通过,若两者不一致,则判断验证失败。

在其中一个实施例中,所述步骤s210,具体包括:将所述行为验证码发送至网页服务器,以使所述网页服务器对所述行为验证码进行行为校验后反馈校验结果。

本实施例中,浏览器将行为验证码发送至网页服务器,以使网页服务器处理上述校验过程,能够有效缓解浏览器的性能压力。在网页服务器得到校验结果后,将校验结果反馈给浏览器。

本实施例中,在通过父页面接收到行为验证请求时,查找行为验证iframe,从查找到的行为验证iframe中获取已渲染的行为验证窗口页面,将所述行为验证窗口页面进行展示,获取用户基于所述行为验证窗口页面输入的行为验证码,从而对所述行为验证码进行行为校验;通过上述的行为验证码的校验方法,只需要调用行为验证iframe,让行为验证iframe内的行为验证窗口页面与父页面进行通信,从而使得行为验证码的校验兼容性高,能够有效兼容其它密码控件的密码验证。

进一步地,在其中一个实施例中,参照图3,所述步骤s202之前,所述行为验证码的校验方法还包括:

步骤s302,获取对父页面的加载请求;

需要说明的是,对父页面的加载请求为用户通过浏览器发出。本实施例的父页面为登陆页面,当用户要登陆某一网站时,可以通过在浏览器中输入网站登录地址来打开该网站的登录页面,浏览器在接收到用户输入的网站登录地址时,生成对登录页面进行加载的加载请求。

步骤s304,对行为验证窗口页面进行初始化。

需要说明的是,在对父页面的加载过程中,浏览器对该父页面下的行为验证窗口页面进行初始化。

本实施例中,通过在获取到对父页面的加载请求后,对验证窗口页面进行初始化,以使得在后续启动行为校验时,能够直接调用该初始化后的验证窗口页面。

进一步地,在其中一个实施例中,参照图4,所述步骤s304,具体包括:

步骤s402,向网页服务器发起行为验证窗口页面的初始化请求,以使所述网页服务器反馈所述行为验证窗口页面的初始化数据;

需要说明的是,浏览器可以通过网络访问网页服务器,网页服务器可以对该浏览器的各网页进行管理,其可以处理更为复杂的程序指令。在浏览器获取到对父页面的加载请求时,向网页服务器发起行为验证窗口页面的初始化请求。网页服务器在接收都该初始化请求时,向浏览器反馈行为验证窗口页面的初始化数据。其中,初始化数据包括行为验证窗口页面的窗口图形数据和初始文本数据等。窗口图形数据包括窗口图片和窗口尺寸数据等。

步骤s404,查找行为验证iframe,从查找到的行为验证iframe中获取行为验证窗口页面的初始化值;

需要说明的是,浏览器在查找到行为验证iframe后,从查找到的行为验证iframe中读取行为验证窗口页面的初始化值。其中,初始化值为随机生成,用于指示用户根据该初始化值进行相应的行为操作。例如,若行为验证窗口页面所指示的行为验证方式为拼图验证,需要用户将滑块滑动至缺口处,则该缺口的位置信息即为初始化值。

步骤s406,根据所述初始化数据和所述初始化值,初始化所述行为验证窗口页面;

需要说明的是,浏览器根据初始化数据和初始化值,对行为验证窗口页面进行初始化。

步骤s408,加载所述行为验证窗口页面,并将其在行为验证iframe中进行渲染。

需要说明的是,浏览器加载行为验证窗口页面,将其在行为验证iframe中进行渲染,得到可视化的行为验证窗口页面。

本实施例提供了对行为验证窗口页面进行初始化的具体过程,通过向网页服务器发起行为验证窗口页面的初始化请求,以使所述网页服务器反馈所述行为验证窗口页面的初始化数据,查找行为验证iframe,从查找到的行为验证iframe中获取行为验证窗口页面的初始化值,根据所述初始化数据和所述初始化值,初始化所述行为验证窗口页面,加载所述行为验证窗口页面,并将其在行为验证iframe中进行渲染,完成了对行为验证窗口页面的初始化。

进一步地,在其中一个实施例中,所述步骤s304,具体包括:对行为验证窗口页面进行初始化,并在所述父页面加载密码控件。其中,密码控件用于对用户输入的用户名信息和密码信息的加密,以避免信息泄露。

参照图5,所述步骤s202之前,所述行为验证码的校验方法还包括:步骤s502,在通过父页面接收到用户发出的登陆请求时,生成行为验证请求。具体地,用户在通过父页面输入登录请求时,浏览器接收该登录请求,并生成行为验证请求。

本实施例中,通过在接收到用户发出的登陆请求时,生成行为验证请求,以在登陆之前进行行为校验,来确保该操作是人为发出,保障了网站登陆的安全可靠性。

进一步地,在其中一个实施例中,参照图6,所述步骤s502之前,所述行为验证码的校验方法还包括:

步骤s602,接收用户通过密码控件输入的用户名信息和密码信息;

步骤s604,接收用户发出的登陆请求。

浏览器接收用户通过密码控件输入的用户名信息和密码信息。并进一步接收用户发出的登陆请求。在接收到登陆请求时,生成行为验证请求。若用户未输入完整用户名信息和密码信息,则首先生成输入账号密码的提示信息,而不直接生成行为验证请求,在用户完整输入用户名信息和密码信息后,才生成行为验证请求。

本实施例中,浏览器接收用户输入的用户名信息和密码信息,在接收到用户名信息和密码信息后,接收用户发出的登陆请求,从而可以根据该用户名信息和密码信息和进行登陆,并在登陆之前进行行为校正,保障了用户登陆网站的安全可靠性。

基于图6所示的实施例,在其中一个实施例中,参照图7,所述步骤s210之后,所述行为验证码的校验方法还包括:步骤s702,对所述用户名信息和所述密码信息进行密码校验。

浏览器读取数据库中预存的登陆用户名和登录密码,将登陆用户名和登录密码与用户输入的用户名信息和密码信息进行比较,若登陆用户名与用户名信息一致,且登录密码与密码信息一致,则密码校验通过,否则密码校验失败。在其中一个实施例中,浏览器将用户名信息和密码信息发送至网页服务器,以使网页服务器根据用户名信息和密码信息进行上述密码校验,以减轻浏览器的性能压力。

进一步地,在行为验证码的行为校验、以及对用户名信息和密码信息的密码校验均校验通过时,浏览器登陆该父页面的网站。

本实施例中,在行为校验通过后,进一步根据用户名信息和密码信息进行密码校验,从而进一步确保用户登陆的安全可靠性。

参照图8,本发明实施例还提出一种行为验证码的校验装置实施例,所述行为验证码的校验装置包括:

查找模块810,用于在通过父页面接收到行为验证请求时,查找行为验证iframe;

页面获取模块820,用于从查找到的行为验证iframe中获取已渲染的行为验证窗口页面;

展示模块830,用于将所述行为验证窗口页面进行展示;

验证码获取模块840,用于获取用户基于所述行为验证窗口页面输入的行为验证码;

校验模块850,用于对所述行为验证码进行行为校验。

本实施例中,在通过父页面接收到行为验证请求时,查找行为验证iframe,从查找到的行为验证iframe中获取已渲染的行为验证窗口页面,将所述行为验证窗口页面进行展示,获取用户基于所述行为验证窗口页面输入的行为验证码,从而对所述行为验证码进行行为校验;通过上述的行为验证码的校验方法,只需要调用行为验证iframe,让行为验证iframe内的行为验证窗口页面与父页面进行通信,从而使得行为验证码的校验兼容性高,能够有效兼容其它密码控件的密码验证。

可选地,所述查找模块810,还用于在通过父页面接收到行为验证请求时,遍历所述父页面的源代码,以查找行为验证iframe。

可选地,所述验证码获取模块840,还用于通过视窗操作系统应用程序接口调取所述行为验证窗口页面接收的行为验证码,所述行为验证码为用户基于所述行为验证窗口页面输入。

可选地,所述行为验证码的校验装置还包括:初始化模块,用于获取对父页面的加载请求;对行为验证窗口页面进行初始化。

可选地,所述初始化模块,还用于向网页服务器发起行为验证窗口页面的初始化请求,以使所述网页服务器反馈所述行为验证窗口页面的初始化数据;查找行为验证iframe,从查找到的行为验证iframe中获取行为验证窗口页面的初始化值;根据所述初始化数据和所述初始化值,初始化所述行为验证窗口页面;加载所述行为验证窗口页面,并将其在行为验证iframe中进行渲染。

可选地,所述行为验证码的校验装置还包括:请求生成模块,用于在通过父页面接收到用户发出的登陆请求时,生成行为验证请求。

可选地,所述行为验证码的校验装置还包括:接收模块,用于接收用户通过密码控件输入的用户名信息和密码信息;接收用户发出的登陆请求;密码校验模块,用于对所述用户名信息和所述密码信息进行密码校验。

此外,本发明实施例还提出一种行为验证码的校验装置,所述行为验证码的校验装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的行为验证码的校验程序,所述行为验证码的校验程序被所述处理器执行时实现如上述的行为验证码的校验方法实施例的步骤。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有行为验证码的校验程序,所述行为验证码的校验程序被处理器执行时实现如上述的行为验证码的校验方法实施例的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台浏览器设备执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1