掌桥专利:专业的专利平台
掌桥专利
首页

一种验证码自动刷新方法、设备及介质

文献发布时间:2024-01-17 01:27:33


一种验证码自动刷新方法、设备及介质

技术领域

本发明涉及软件开发领域,尤其涉及一种验证码自动刷新方法、设备及介质。

背景技术

通常在用户界面使用验证码来避免用户恶意频繁操作,验证码一般都会设置过期时间,避免验证码被爆破(即短时间内使用大量不同的字符串尝试验证验证码进而达到破解验证码的目的)。

用户打开用户界面后,可能由于网络或电脑比较卡,又或者刚好要处理其它事情导致界面打开后没有及时进行操作,等要进行操作时输入完验证码点击验证时,提示验证码过期,需要手工点击验证码进行刷新并重新输入验证码进行验证。这就导致用户需要额外输入一次验证码,既耽误了用户的时间又破坏了用户的使用体验,甚至有些用户就不再进行验证即选择离开。

发明内容

有鉴于此,本发明的目的在于提出一种验证码自动刷新方法,在维持验证码定时过期确保安全的前提下,通过感知用户的操作行为推断用户是否即将使用验证码功能并在判定用户即将使用验证码且验证码已过期时刷新验证码,确保用户无需重复输入验证码,提升了用户对系统的使用效率及用户体验。

为了实现上述的技术目的,本发明所采用的技术方案为:

本发明提供了一种验证码自动刷新方法,包括如下步骤:

步骤1、进入具有验证码功能的用户界面;

步骤2、设置定时参数并存储;

步骤3、获取检测到的当前界面焦点所在位置对应的第一焦点位置参数;

步骤4、以每间隔Nms的频率检测所述用户界面的激活情况;

步骤5、判断所述用户界面是否被激活,若是,则获取用户界面的参数和检测到的当前界面焦点所在位置对应的第二焦点位置参数;否则,返回步骤4;

步骤6、根据所述第一焦点位置参数、第二焦点位置参数和用户界面的参数判断当前界面焦点所在位置是否在用户界面上且有变动,若是,则根据定时参数对验证码进行定时刷新,执行一次刷新后,重新返回步骤2进入下一次刷新;若否,返回步骤4;

步骤7、当退出所述具有验证码功能的用户界面时,结束流程。

进一步的,所述步骤1之前还包括:封装启动定时任务指令、清除定时任务指令、界面激活检测指令、界面参数获取指令、焦点位置检测指令和界面频率检测指令。

进一步的,所述步骤2具体包括:

步骤21、调用所述启动定时任务指令对定时参数进行设置,所述定时参数包括定时运行的任务和定时时间;

步骤22、将所述定时运行的任务设置为刷新验证码,所述定时时间设置为验证码的过期时间;

步骤23、将设置好的的定时参数存入内存。

进一步的,所述步骤3具体为:调用所述焦点位置检测指令获取检测到的当前界面焦点所在位置对应的第一焦点位置参数,并将所述第一焦点位置参数设为x0和y0。

进一步的,所述步骤4具体包括:

步骤41、调用所述界面频率检测指令对用户界面的检测频率进行设置,将所述频率设置为每间隔Nms,其中,N的范围为100-300;

步骤42、以设置好的每间隔Nms的频率检测所述用户界面的激活情况。

进一步的,所述步骤5中获取用户界面的参数和检测到的当前界面焦点所在位置对应的第二焦点位置参数,具体包括:

步骤51、调用所述界面参数获取指令获取用户界面的坐标原点和尺寸数值,所述尺寸数值包括长度值和宽度值;

步骤52、设定所述用户界面的左上角对应的点为坐标原点x1和y1,设定所述用户界面的长度值为L和宽度值为W;

步骤53、定义从坐标原点x1和y1向右和向下为正,向左和向上为负;

步骤54、调用所述焦点位置检测指令获取检测到的当前界面焦点所在位置对应的第二焦点位置参数,设定所述第二焦点位置参数为x2和y2。

进一步的,所述步骤6中根据所述第一焦点位置参数、第二焦点位置参数和用户界面的坐标原点和尺寸参数判断当前界面焦点所在位置是否在用户界面上且有变动,具体为:

当x0不等于x2、y0不等于y2、x1

进一步的,所述步骤7具体为:当退出所述具有验证码功能的用户界面时,调用所述清除定时任务指令将所有的定时参数进行清除,并结束流程。

本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的一种验证码自动刷新方法。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的一种验证码自动刷新方法。

采用上述的技术方案,本发明与现有技术相比,其具有的有益效果为:本发明提出一种验证码自动刷新方法,在维持验证码定时过期确保安全的前提下,通过感知用户的操作行为推断用户是否即将使用验证码功能并在判定用户即将使用验证码且验证码已过期时刷新验证码,确保用户无需重复输入验证码,提升了用户对系统的使用效率及用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种验证码自动刷新方法的执行流程图。

图2是本发明实施例提供的一种电子设备的示意图。

图3是本发明实施例提供的一种计算机可读存储介质的示意图。

具体实施方式

下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明提供一种验证码自动刷新方法,确保用户无需重复输入验证码,提升了用户对系统的使用效率及用户体验。

请参见图1,图1是本发明一种验证码自动刷新方法,包括如下步骤:

步骤1、进入具有验证码功能的用户界面;在该用户界面上可以进行验证码获取、验证码输入和验证码验证等操作,验证码功能是指可以实现验证码获取、验证码输入和验证码验证等。

在本实施例中,所述步骤1之前还包括:封装启动定时任务指令、清除定时任务指令、界面激活检测指令、界面参数获取指令、焦点位置检测指令和界面频率检测指令;封装不同的指令是为了方便后面方法步骤流程的调用,调用对应的指令就执行响应的操作步骤,实现在不同场合根据用户设计需求进行不同的调用。

其中,启动定时任务指令(方法),方法参数为“定时运行的任务”和“定时时间”,定时运行的任务表示要定时运行的任务,定时时间表示多久后执行定时运行的任务,方法返回值为“定时任务对象”,用于清除定时任务用,方法内容为调用该启动定时任务指令,等待设置的“定时时间”后运行“定时运行的任务”,运行任务后方法就结束了,即定时任务只运行一次而不是每多久运行一次。(比如浏览器客户端的情况,可以使用主要的浏览器都支持的setTimeout方法,这个setTimeout方法可以创建定时执行的任务且只执行一次就结束,这个方法的返回值是一个变量对象,另外,主要的浏览器都支持的clearTimeout方法用于清除使用setTimeout方法创建的定时任务,setTimeout方法的参数就是setTimeout方法返回的变量对象)。

清除定时任务指令(方法),方法参数为“定时任务对象”,表示要清除的定时任务对象,方法无返回值,方法内容为使“定时任务对象”对应的定时任务失效。

界面激活检测指令(方法),方法无参数,方法返回值为“是否激活”,表示用户界面是否激活,方法内容为检测用户界面是否激活即用户电脑/手机屏幕是否能看到用户界面且可操作。

界面参数(坐标和长宽)获取指令(方法),方法无参数,方法返回值依次为:“用户界面坐标”、“长”和“宽”,用户界面坐标表示用户界面左上角的点在屏幕上的坐标,长表示用户界面的长度,宽表示用户界面的宽度。

焦点位置检测指令(方法),方法无参数,方法返回值为“当前界面焦点所在坐标”,方法内容为获取当前界面焦点所在坐标位置并返回。

界面频率检测指令(方法),方法无参数,方法无返回值,方法内容依次为,每200毫秒(人的反应时间为200毫秒,每200毫秒检测一次可确保用户即将开始操作时检测)。

步骤2、设置定时参数并存储;

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

步骤21、调用所述启动定时任务指令对定时参数进行设置,所述定时参数包括定时运行的任务和定时时间;

步骤22、将所述定时运行的任务设置为刷新验证码,所述定时时间设置为验证码的过期时间;实现当验证码发生过期时就能自动刷新验证码。

步骤23、将设置好的的定时参数存入内存,方便后期调用和清除。

步骤3、获取检测到的当前界面焦点所在位置对应的第一焦点位置参数;其中,所述当前界面焦点是指该用户界面上当前的待操作点,若用户界面为电脑界面,则所述当前界面焦点就是鼠标当前所指向的位置,若用户界面为手机界面,则所述当前界面焦点就是触摸时手指当前所指向的位置;所述第一焦点位置参数是指在进行一次自动刷新程序(步骤2-步骤6)中第一次检测的当前界面焦点所在位置的坐标值,执行第一次自动刷新程序时,该第一焦点位置参数就是刚进入到用户界面时的当前界面焦点所在位置的坐标值。步骤2和步骤3之间可以没有先后顺序或同时进行,本实施例中,采用先执行步骤2后执行步骤3.

在本实施例中,所述步骤3具体为:调用所述焦点位置检测指令获取检测到的当前界面焦点所在位置对应的第一焦点位置参数,并将所述第一焦点位置参数设为x0和y0并存入内存;将刚进入到用户界面时的第一焦点位置参数进行保存是为了与后面的第二焦点位置参数进行对比,判断当前界面焦点所在位置是否发生移动。

步骤4、以每间隔Nms的频率检测所述用户界面的激活情况;

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

步骤41、调用所述界面频率检测指令对用户界面的检测频率进行设置,将所述频率设置为每间隔Nms,其中,N的范围为100-300;较佳的,N采用200,人的反应时间为200毫秒,每200毫秒检测一次可确保用户即将开始操作时检测。

步骤42、以设置好的每间隔Nms的频率检测所述用户界面的激活情况,可确保用户即将开始操作时检测就能保证在用户即将开始操作时就完成自动刷新验证码。

步骤5、判断所述用户界面是否被激活,若是,则获取用户界面的参数和检测到的当前界面焦点所在位置对应的第二焦点位置参数;否则,返回步骤4;判断所述用户界面是否被激活的目的是为了判断用户界面是处于被锁定状态还是可操作状态,在被锁定状态下,检测到的当前界面焦点所在位置是不会发生变化的,此时所获取的第二焦点位置参数就没有参考价值,就无需获取第二焦点位置参数,因此,只有在可操作状态下才需要获取的第二焦点位置参数。所述第二焦点位置参数是指在进行一次自动刷新程序(步骤2-步骤6)中第二次检测的当前界面焦点所在位置的坐标值。

在本实施例中,所述步骤5中获取用户界面的参数(包括坐标原点和尺寸数值)和检测到的当前界面焦点所在位置对应的第二焦点位置参数,具体包括:

步骤51、调用所述界面参数获取指令获取用户界面的坐标原点和尺寸数值,所述尺寸数值包括长度值和宽度值,并存入内存;用于判断当前界面焦点所在位置是否在用户界面上;

步骤52、设定所述用户界面的左上角对应的点为坐标原点x1和y1,设定所述用户界面的长度值为L和宽度值为W;

步骤53、定义从坐标原点x1和y1向右和向下为正,向左和向上为负;

步骤54、调用所述焦点位置检测指令获取检测到的当前界面焦点所在位置对应的第二焦点位置参数,设定所述第二焦点位置参数为x2和y2并存入内存,是为了判断当前界面焦点所在位置是否在用户界面上且发生变化。

步骤6、根据所述第一焦点位置参数、第二焦点位置参数和用户界面的参数判断当前界面焦点所在位置是否在用户界面上且有变动,若是,则根据定时参数对验证码进行定时刷新,实现当验证码发生过期时就能自动刷新验证码,在执行一次刷新后,重新返回步骤2进入下一次刷新;若否,不进行刷新并返回步骤4;

在本实施例中,所述步骤6中根据所述第一焦点位置参数、第二焦点位置参数和用户界面的坐标原点和尺寸参数判断当前界面焦点所在位置是否在用户界面上且有变动,具体为:

当x0不等于x2、y0不等于y2、x1

步骤7、当退出所述具有验证码功能的用户界面时,结束流程。

在本实施例中,所述步骤7具体为:当退出所述具有验证码功能的用户界面时,调用所述清除定时任务指令将所有的定时参数进行清除,并结束流程,避免持续不断刷新。

如图2所示,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种验证码自动刷新方法。

如图3所示,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种验证码自动刷新方法。

另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

技术分类

06120116228215