一种登陆验证方法、服务器以及计算机可读存储介质与流程

文档序号:14727126发布日期:2018-06-19 11:41阅读:152来源:国知局

本发明涉及验证码处理技术领域,尤其涉及一种登陆验证方法、服务器以及计算机可读存储介质。



背景技术:

全自动区分计算机和用户类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,CAPTCHA)又称验证码,是一种区分用户是计算机还是用户的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。

目前现有的登录验证技术包括:

第一种:字符型验证码,字符型验证码为当前最主流验证码,其通过提供静态的图片用户输入对应字符即可验证成功。是目前多数字符型验证码可以被OCR(Optical Character Recognition,光学字符识别)软件识别,不够安全;并且用户有时候认出字符型验证码中的字符也比较吃力,再输入操作,体验较差。

第二种:手机验证码。是通过发送验证码到手机,比较准确安全,是最有效的验证码系统。但作为频繁操作的登录用户行为,手机验证码相对高要求的操作明显不适合。类似的方式还有手机语音验证码,同样不利于用户体验。

第三种:用户脸识别,目前支付宝等手机端有做,体验很好。但是网页端用户在预存储一些用户脸指纹数据时,包括后续使用,学习成本,构建系统成本很高。

第四种:“移动滑块验证”,而“移动滑块验证”又可以分为两类:第1类为“拖动滑块验,完成拼图验证”,即简单的通过图片拼接结果进行校验登录,不过这种目前可以被图像识别破解,安全性不是很高。第2类是一种复杂些的,会在后台记录拖动过程的用户行为,与之前记录的海量数据进行比对,区别用户工与机器模拟行为,这种比较难破解,安全性较高,但是开发成本也比较高。

以上常用的登陆验证方式要么容易会被坏用户破解,要么可以防止坏用户破解但是好用户体验度较差或者开发成本高。

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



技术实现要素:

本发明的主要目的在于提供一种登陆验证方法、服务器及计算机可读存储介质,旨在解决目前验证登录方式要么容易会被第三方程序破解,要么虽然可以防止被破解但是用户体验度较差,或者开发成本高的问题。

为实现上述目的,本发明提供一种登陆验证方法,所述方法包括:

服务器在接收到客户端发送的登陆访问请求时,根据所述登陆访问请求生成当前验证动画;

将所述当前验证动画发送至所述客户端,以使所述客户端对所述当前验证动画进行展示,接收并反馈验证操作指令;

判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证。

优选地,所述当前验证动画包括运动体和预设目标位置,所述验证操作指令为对所述当前验证动画中运动体的运动终止位置进行确定的操作指令;

相应地,所述判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证,具体包括:

对所述客户端反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置,若判断结果为是,则认定登录验证成功。

相应地,所述对所述客户端反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置之后,还包括:

若判断结果为否,则对所述当前验证动画中预设目标位置进行更新。

优选地,所述当前验证动画中的运动体为沿预设轨迹重复运动的运动体。

优选地,所述根据所述登陆访问请求生成当前验证动画,具体包括:

根据所述登陆访问请求从预存验证动画库中随机选取一验证动画作为当前验证动画。

优选地,所述判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证之后,所述方法还包括:

对所述预存验证动画库中的验证动画按照预设时间间隔进行更新。

优选地,所述对所述客户端反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置之后,还包括:

若判断结果为否,则返回所述根据所述登陆访问请求生成当前验证动画的步骤。

优选地,所述若判断结果为否,则返回所述根据所述登陆访问请求生成当前验证动画的步骤,具体包括:

若判断结果为否,则根据所述登陆访问请求从所述预存验证动画库中选取除当前验证动画以外的一验证动画作为新的当前验证动画。

此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的登陆验证程序,所述登陆验证程序配置为实现如上任一项所述的登陆验证的方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有登陆验证程序,所述登陆验证程序被处理器执行时实现如上任一项所述的登陆验证的方法的步骤。

本发明的服务器在接收到客户端发送的登陆访问请求时,会根据所述登陆访问请求生成用于在客户端上展示的当前验证动画,再根据用户基于所述当前验证动画输入的验证操作指令进行人机区别验证,操作简便快捷;同时本发明是以验证动画作为验证码,这样使得第三方机器或程序很难模拟用户的验证操作指令去破解本发明的验证登陆,故而本发明的这种登陆验证方式的安全性是非常高的,提高了用户体验满足了用户的需求。

附图说明

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

图2为本发明一种登陆验证方法第一实施例的流程示意图;

图3为本发明一实施例中当前验证动画的示意图;

图4为本发明一种登陆验证方法第二实施例的流程示意图。

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

具体实施方式

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

参照图1,图1为本发明实施例方案涉及的硬件运行环境的服务器结构示意图。

如图1所示,该服务器可以包括:处理器1001,例如CPU,通信总线1002、网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。

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

如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及登陆验证程序。

在图1所示的服务器中,本发明服务器中的处理器1001、存储器1004可以设置在服务器中,所述服务器通过处理器1001调用存储器1004中存储的登陆验证程序,并执行以下操作:

服务器在接收到客户端发送的登陆访问请求时,根据所述登陆访问请求生成当前验证动画;

将所述当前验证动画发送至所述客户端,以使所述客户端对所述当前验证动画进行展示,接收并反馈验证操作指令;

判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证。

进一步地,处理器1001可以调用存储器1005中存储的登陆验证程序,还执行以下操作:

对所述客户端反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置,若判断结果为是,则认定登录验证成功。

相应地,处理器1001可以调用存储器1005中存储的登陆验证程序,还执行以下操作:

若判断结果为否,则对所述当前验证动画中预设目标位置进行更新。

相应地,处理器1001可以调用存储器1005中存储的登陆验证程序,还执行以下操作:

若判断结果为否,则根据所述登陆访问请求从所述预存验证动画库中选取除当前验证动画以外的一验证动画作为新的当前验证动画。

进一步地,处理器1001可以调用存储器1005中存储的登陆验证程序,还执行以下操作:

根据所述登陆访问请求从预存验证动画库中随机选取一验证动画作为当前验证动画。

进一步地,处理器1001可以调用存储器1005中存储的登陆验证程序,还执行以下操作:

对所述预存验证动画库中的验证动画按照预设时间间隔进行更新。

本实施例的服务器在接收到客户端发送的登陆访问请求时,会根据所述登陆访问请求生成用于在客户端上展示的当前验证动画,再根据用户基于所述当前验证动画输入的验证操作指令进行人机区别验证,操作简便快捷;同时本实施例是以验证动画作为验证码,这样使得第三方机器或程序很难模拟用户的验证操作指令去破解本实施例的验证登陆,故而本实施例的这种登陆验证方式的安全性是非常高的,提高了用户体验满足了用户的需求。

基于上述硬件结构,提出本发明一种登陆验证的方法实施例。

参照图2,图2为本发明一种登陆验证的方法第一实施例的流程示意图。

本实施例中,所述方法包括以下步骤:

S10:服务器在接收到客户端发送的登陆访问请求时,根据所述登陆访问请求生成当前验证动画;

需要说明的是,本实施例的执行主体以上述服务器为例进行说明。所述客户端可以是如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。本实施例以网页浏览器为例进行说明。

在具体实现中,当用户使用网页浏览器要登陆某个网站,用户会有对应的登陆操作即向该网站发送一个登陆访问请求。

而服务器在接收到网页浏览器发送的登陆访问请求时,服务器会通过WebSocket协议(即基于TCP的全双工通信协议,它实现了浏览器与服务器全双工通信)主动生成一个当前验证动画至网页浏览器,所述当前验证动画包括运动体和预设目标位置,参照图3,以图3中的小球为运动体,并为以图3中的阴影区域作为预设目标位置为例对本实施例进行说明。

S20:将所述当前验证动画发送至所述客户端,以使所述客户端对所述当前验证动画进行展示,接收并反馈验证操作指令;

可理解的是,服务器将其生成的当前验证动画发送至网页浏览器,网页浏览器会展示所述当前验证动画,当用户看到所述当前验证动画,会在网页浏览器这端基于所述当前验证动画输入对应的验证操作指令,然后服务器反馈所述验证操作指令至服务器;其中参照图3,所述验证操作指令为对所述当前验证动画中小球运动体的运动终止位置进行确定的操作指令,即在当前验证动画中的小球运动到图3中的阴影部分区域时,用户点击图3中的登陆按钮进行登陆确认后,网页浏览器会向服务器反馈这个登陆确认操作指令(即所述验证操作指令)。

具体地,在本实施例中,所述当前验证动画中的运动体为沿预设轨迹重复运动的运动体,即图3中的小球沿着圆周不停的循环往复地做匀速圆周运动。这样设置在能够防止备第三方程序破解的同时,也便于用户识别和做出对应的操作,简便而快捷。

S30:判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证。

可理解的是,接上述步骤S20,步骤S30中服务器会对所述网页浏览器反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置,若判断结果为是,则认定登录验证成功;若判断结果为否,则对所述当前验证动画中预设目标位置进行更新。即如果服务器根据解析结果判断所述图3中当前验证动画的小球的运动终止位置位于阴影区域时,则认定登录验证成功。如果服务器根据解析结果判断所述图3中当前验证动画的小球的运动终止位置不在阴影区域时,则直接认定登录验证失败,并对所述当前验证动画中预设目标位置进行更新(即图3中的当前验证动画不改变,只改变阴影部分区域在当前验证动画中的位置),同时还可以显示登陆验证失败或用户判断错误等信息以告知用户;然后用户会继续观察当前动画中的小球的运动状态,用户可以做出登陆确认操作指令重新验证,如此即便验证失败用户也不必重新去认识动画中的图像,用户操作起来方便快捷。

本实施例的服务器在接收到客户端发送的登陆访问请求时,会根据所述登陆访问请求生成用于在客户端上展示的当前验证动画,再根据用户基于所述当前验证动画输入的验证操作指令进行人机区别验证,操作简便快捷;同时本实施例是以验证动画作为验证码,这样使得第三方机器或程序很难模拟用户的验证操作指令去破解本实施例的验证登陆,故而本实施例的这种登陆验证方式的安全性是非常高的,提高了用户体验满足了用户的需求。

图4为本发明一种登陆验证的方法第二实施例的流程示意图。

进一步的,参照图4,本发明一种登陆验证的方法第二实施例的流程示意图,基于上述图2所示的实施例提出本发明一种登陆验证的方法第二实施例。

本实施例中,所述步骤S10具体包括:

S101:服务器在接收到客户端发送的登陆访问请求时,根据所述登陆访问请求从预存验证动画库中随机选取一验证动画作为当前验证动画。

可理解的是,本实施例服务器这端可预先存储多张验证动画在预存验证动画库中,服务器从预存验证动画库中随机选取一验证动画作为当前验证动画,即通过采取随机选取的方式能够进一步防止别有用心的用户利用第三方程序或者机器破解。

相应地,本实施例所述步骤S30还可以包括与上一实施例中所述根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置,在判断结果为否时的步骤不同的方案:即若判断结果为否,则根据所述登陆访问请求从所述预存验证动画库中选取除当前验证动画以外的一验证动画作为新的当前验证动画。这种方式虽然使得用户需要重新去认识动画中的图像,但是利用这种再登陆验证失败时重新加载验证动画的方式,进一步使得本实施例中的登陆验证方式成本增高进而难以被破解。

相应地,所述步骤S30之后,所述方法还包括:

S40:对所述预存验证动画库中的验证动画按照预设时间间隔进行更新。

在具体实现中,例如服务器可以每天更新一次所述预存验证动画库中的验证动画图片,可以防止图谋不轨的用户将之前出现过的验证动画保留下来便于后续破解,进一步增大本实施例的登陆验证方式的破解成本以使得本实施例中的登陆验证方式难以被第三方破解。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有登陆验证程序,所述登陆验证程序被处理器执行时实现如下操作:

服务器在接收到客户端发送的登陆访问请求时,根据所述登陆访问请求生成当前验证动画;

将所述当前验证动画发送至所述客户端,以使所述客户端对所述当前验证动画进行展示,接收并反馈验证操作指令;

判断所述客户端反馈的验证操作指令是否满足所述当前验证动画的预设规则条件,根据判断结果实现登录验证。

进一步地,登陆验证程序被处理器执行时还实现如下操作:

对所述客户端反馈的验证操作指令进行解析,根据解析结果判断所述运动体的运动终止位置是否位于所述预设目标位置,若判断结果为是,则认定登录验证成功。

相应地,登陆验证程序被处理器执行时还实现如下操作:

若判断结果为否,则对所述当前验证动画中预设目标位置进行更新。

相应地,登陆验证程序被处理器执行时还实现如下操作:

若判断结果为否,则根据所述登陆访问请求从所述预存验证动画库中选取除当前验证动画以外的一验证动画作为新的当前验证动画。

进一步地,登陆验证程序被处理器执行时还实现如下操作:

根据所述登陆访问请求从预存验证动画库中随机选取一验证动画作为当前验证动画。

进一步地,登陆验证程序被处理器执行时还实现如下操作:

对所述预存验证动画库中的验证动画按照预设时间间隔进行更新。

本实施例的服务器在接收到客户端发送的登陆访问请求时,会根据所述登陆访问请求生成用于在客户端上展示的当前验证动画,再根据用户基于所述当前验证动画输入的验证操作指令进行人机区别验证,操作简便快捷;同时本实施例是以验证动画作为验证码,这样使得第三方机器或程序很难模拟用户的验证操作指令去破解本实施例的验证登陆,故而本实施例的这种登陆验证方式的安全性是非常高的,提高了用户体验满足了用户的需求。

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

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

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

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

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