自动区分计算机程序输入和人类输入的方法和装置与流程

文档序号:11215825阅读:430来源:国知局
自动区分计算机程序输入和人类输入的方法和装置与流程

本发明涉及计算机程序技术领域,特别是涉及一种自动区分计算机程序输入和人类输入的方法和装置。



背景技术:

验证码是“全自动区分计算机程序输入和人类输入的图灵测试”的缩写,它是一种区分用户是计算机还是人的公公全自动程序。例如,当个人想要通过网上银行系统登录到个人网上银行界面时,除在相应对话框中输入用户名和预留的密码之外,还需要输入随机验证码,有的验证码是一组字母的组合,有的验证码是一组数字的组合,有的验证码是数字与字母相结合的组合,还有的验证码是汉字,等等。随着计算机不断具备学习能力,为了区分计算机和人类,验证码的样式也在不断推陈出新。例如,有的验证码需要对验证码区域提出的问题进行回答,等等。除此之外,向计算机输入验证码的方式也各种各样,有的验证码是在用户打开相应界面之后随机出现的,有的验证码是在用户点击计算机上出现的“获取验证码”按钮之后,由验证码系统以手机短信的方式发送给用户,再由用户根据获取的短信内容中出现的验证码输入至相应区域后才能使用,在这种情况下,为了便于用户进行操作,改进的验证码输入方式则通过计算机程序自动获取用户获取的短信中展示的验证码,并自动将其输入至相应的区域后使用。但是,即便是采用了上述方式,应用验证码区分计算机和人类,随着计算机程序的不断发展,仍然有计算机程序可以通过模拟、学习人类的思维方式后,进行仿生输入,这就加大了通过单一验证码区分计算机和人类的难度。



技术实现要素:

有鉴于此,本发明提供了一种自动区分计算机程序输入和人类输入的方法及装置,其通短信验证码与识别码的叠加应用,能够加大计算机程序模拟、学习的难度,因此,能够更加便捷、准确地区分计算机和人类,从而更加适于实用。

为了达到上述第一个目的,本发明提供的自动区分计算机程序输入和人类输入的方法的技术方案如下:

本发明提供的自动区分计算机程序输入和人类输入的方法包括以下步骤:

根据触发,生成验证码;

向用户发送所述验证码;

获取用户输入的验证码以及与所述用户输入的验证码相对应的识别码;

获取向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码;

同时比对所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码:

在本次获取验证码与再次获取验证码之间间隔范围内,当所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码完全相同时,确认输入验证码的用户为人类,验证码的输入为有效输入;

在本次获取验证码与再次获取验证码之间间隔范围内,当所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码至少有一部分有区别时,确认输入验证码的用户为计算及程序,验证码的输入为无效输入。

本发明提供的自动区分计算机程序输入和人类输入的方法还可采用以下技术措施进一步实现。

作为优选,在确认输入验证码的用户为计算机程序,验证码的输入为无效输入的过程中,允许同时比对所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码的次数≤5次。

作为优选,在获取所述用户输入的验证码以及与所述用户输入的验证码相对应的识别码的过程中,所述验证码与所述识别码根据预先设定的顺序输入。

作为优选,所述验证码与所述识别码预先设定的顺序选自:先验证码后识别码、先识别码后验证码、验证码与识别码的顺序夹杂中的一种。

作为优选,所述识别码为本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数。

作为优选,所述本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户开始输入验证码或者与所述用户输入的验证码相对应的识别码的时刻对应的倒计时秒数。

作为优选,所述本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户输入验证码结束的时刻对应的倒计时秒数。

作为优选,所述本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户开始输入识别码的时刻对应的倒计时秒数。

作为优选,当所述用户输入的验证码通过计算机程序自动输入时,所述本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数选自计算机程序自动输入验证码结束时刻对应的倒计时秒数,或者,用户开始输入识别码的时刻对应的倒计时秒数。

作为优选,当所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码完全相同时,若用户输入验证码以及与所述用户输入的验证码相对应的识别码的总耗时超过本次获取验证码与再次获取验证码之间间隔范围,则确认输入验证码的用户为非本人操作。

作为优选,当输入验证码的用户为非本人操作时,若验证码的输入能够通过授权由他人代为输入,则确认验证码的输入为有效输入;若验证码的输入不允许通过授权由他人代为输入,则确认验证码的输入为无效输入。

作为优选,若验证码的输入能够通过授权由他人代为输入,在确认验证码的输入为有效输入的步骤之前,还包括获取接收到验证码信息的用户本人授权信息的步骤。

为了达到上述第二个目的,本发明提供的自动区分计算机程序输入和人类输入的装置的技术方案如下:

本发明提供的自动区分计算机程序输入和人类输入的装置包括:

验证码生成模块,用于根据触发,生成验证码;

验证码推送模块,用于将由所述验证码生成模块生成的验证码发送给相应的用户;

验证码以及识别码获取模块,用于获取用户输入的验证码以及与所述用户输入的验证码相对应的识别码,以及获取向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码;

比对模块,用于同时比对所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码:

在本次获取验证码与再次获取验证码之间间隔范围内,当所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码完全相同时,确认输入验证码的用户为人类,验证码的输入为有效输入;

在本次获取验证码与再次获取验证码之间间隔范围内,当所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码至少有一部分有区别时,确认输入验证码的用户为计算及程序,验证码的输入为无效输入。

本发明提供的自动区分计算机程序输入和人类输入的装置还可采用以下技术措施进一步实现。

作为优选,所述自动区分计算机程序输入和人类输入的装置还包括:

计数模块,用于计算在确认输入验证码的用户为计算机程序,验证码的输入为无效输入的过程中,允许同时比对所述用户输入的验证码以及与所述用户输入的验证码相对应的验证码,和,向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码的次数。

作为优选,所述自动区分计算机程序输入和人类输入的装置还包括:

秒表模块,用于倒计时本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数。

作为优选,用户开始输入验证码或者与所述用户输入的验证码相对应的识别码的时刻,所述秒表倒计时停止,以此时所述秒表倒计时秒数为所述识别码。

作为优选,用户输入验证码结束的时刻,所述秒表倒计时停止,以此时所述秒表倒计时秒数为所述识别码。

作为优选,用户开始输入识别码的时刻,所述秒表倒计时停止,以此时所述秒表道济时秒数为所述识别码。

作为优选,当所述验证码与所述识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地开始输入验证码或者用户每次间隔地输入与所述用户输入的验证码相对应的识别码的时刻,所述秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。

作为优选,当所述验证码与所述识别码预先设定的顺序为验证码与识别码的顺序夹杂时,当所述验证码与所述识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地输入验证码结束的时刻,所述秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。

作为优选,当所述验证码与所述识别码预先设定的顺序为验证码与识别码的顺序夹杂时,当所述验证码与所述识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地输入开始输入识别码的时刻,所述秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。

作为优选,当所述用户输入的验证码通过计算机程序自动输入时,所述自动区分计算机程序输入和人类输入的装置还包括:

倒计时秒数获取模块,用于获取所述本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数选自计算机程序自动输入验证码结束时刻对应的倒计时秒数,或者,用户开始输入识别码的时刻对应的倒计时秒数,并以此作为识别码自动完成所述识别码的输入。

作为优选,所述自动区分计算机程序输入和人类输入的装置还包括:

计时模块,用于对用户输入验证码以及与所述用户输入的验证码相对应的识别码的总耗时,当用户输入验证码以及与所述用户输入的验证码相对应的识别码的总耗时超过本次获取验证码与再次获取验证码之间间隔范围时,确认输入验证码的用户为非本人操作。

作为优选,当验证码的输入能够通过授权由他人代为输入时,所述自动区分计算机程序输入和人类输入的装置还包括:

判断模块,用于根据所述验证码能否通过授权由他人代为输入,确认验证码的输入是否为有效输入:

若验证码的输入能够通过授权由他人代为输入,则确认验证码的输入为有效输入;若验证码的输入不允许通过授权由他人代为输入,则确认验证码的输入为无效输入。

作为优选,所述自动区分计算机程序输入和人类输入的装置还包括:

授权信息获取模块,用于向接收到验证码信息的用户本人推送授权信息对话框,并根据所述授权信息对话框的结果获取所述接收到验证码信息的用户本人的授权信息。

本发明提供的自动区分计算机程序输入和人类输入的方法和装置在比对用户输入的验证码的同时,还需要比对与用户输入的验证码对应的识别码,相当于同时识别验证码与识别码,在这种情况下,由于需要计算机程序在同一事件中同时区分两个事件,即验证码和识别码,因此,增加了计算机程序的输入难度,即便计算机程序依然可以通过不断地学习、仿生,具备该能力,其所对应的能力也比只通过识别验证码区分计算机程序输入和人类输入的方法更高级,因此,在这种情况下,能够杜绝至少一部分能力相对较低的计算机程序输入被误识别为人类输入的情况发生,特别是在有的识别码本身是随机变化,或者只有通过人类的主观能动性进行识别后方可识别到的识别码的情况下,需要计算机程序对应的能力更高级,能够使得误识别的概率发生更低。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例一提供的自动区分计算机程序输入和人类输入的方法的步骤流程图;

图2为本发明实施例二提供的自动区分计算机程序输入和人类输入的装置的各模块之间的相互关系示意图。

具体实施方式

本发明为解决现有技术存在的问题,提供一种自动区分计算机程序输入和人类输入的方法,其通短信验证码与识别码的叠加应用,能够加大计算机程序模拟、学习的难度,因此,能够更加便捷地区分计算机和人类,从而更加适于实用。

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的自动区分计算机程序输入和人类输入的方法,其具体实施方式、结构、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特征、结构、或特点可由任何合适形式组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,具体的理解为:可以同时包含有a与b,可以单独存在a,也可以单独存在b,能够具备上述三种任一种情况。

参见附图1,本发明实施例一提供的自动区分计算机程序输入和人类输入的方法包括以下步骤:

步骤s1:根据触发,生成验证码;

步骤s2:向用户发送验证码;

步骤s3:获取用户输入的验证码以及与用户输入的验证码相对应的识别码;

步骤s4:获取向用户发送的验证码以及与向用户发送的验证码相对应的识别码;

步骤s5:同时比对用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码:

在本次获取验证码与再次获取验证码之间间隔范围内,当用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码完全相同时,确认输入验证码的用户为人类,验证码的输入为有效输入;

在本次获取验证码与再次获取验证码之间间隔范围内,当用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码至少有一部分有区别时,确认输入验证码的用户为计算及程序,验证码的输入为无效输入。

本发明实施例一提供的自动区分计算机程序输入和人类输入的方法在比对用户输入的验证码的同时,还需要比对与用户输入的验证码对应的识别码,相当于同时识别验证码与识别码,在这种情况下,由于需要计算机程序在同一事件中同时区分两个事件,即验证码和识别码,因此,增加了计算机程序的输入难度,即便计算机程序依然可以通过不断地学习、仿生,具备该能力,其所对应的能力也比只通过识别验证码区分计算机程序输入和人类输入的方法更高级,因此,在这种情况下,能够杜绝至少一部分能力相对较低的计算机程序输入被误识别为人类输入的情况发生,特别是在有的识别码本身是随机变化,或者只有通过人类的主观能动性进行识别后方可识别到的识别码的情况下,需要计算机程序对应的能力更高级,能够使得误识别的概率发生更低。

其中,在确认输入验证码的用户为计算机程序,验证码的输入为无效输入的过程中,允许同时比对用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码的次数≤5次。在这种情况下,本发明实施例提供的自动区分计算机程序输入和人类输入的方法和装置容许5次以下的出错率,能够避免仅一次输入错误就导致人类输入被误识别为计算机程序输入;还能够避免计算机在无穷多次尝试的情况下,碰撞得到正确的验证码以及与向用户发送的验证码相对应的识别码,从而将计算机程序输入误识别为人类输入。

其中,在获取用户输入的验证码以及与用户输入的验证码相对应的识别码的过程中,验证码与识别码根据预先设定的顺序输入。在这种情况下,由于验证码与识别码根据预先设定的顺序输入,能够增加计算机程序输入的难度,从而,减少或者避免计算机程序通过学习掌握验证码与识别码的输入顺序,从而通过计算机程序仿生输入。

本实施例中,验证码与识别码预先设定的顺序选自:先验证码后识别码、先识别码后验证码、验证码与识别码的顺序夹杂中的一种。其中,先验证码后识别码或者先识别码后验证码的方式计算机程序学习的难度相对较低,而验证码与识别码的顺序夹杂的情况下,如果计算机程序需要通过学习实现仿生输入,其难度将远远大于先验证码后识别码或者先识别码后验证码的输入方式。

其中,识别码为本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数。在这种情况下,由于本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数随机性较大,与用户触发输入、用户输入速度等密切相关,因此,其能够进一步增加计算机程序通过学习而实现仿生输入的难度,在这种情况下,其能够使得区分计算机程序输入和人类输入的方法更加简洁。

具体而言,识别码为本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数的方法主要有以下三种方式:

第一种方式:本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户开始输入验证码或者与用户输入的验证码相对应的识别码的时刻对应的倒计时秒数。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入验证码的第一个字符时倒计时秒数为50s,则此时,与用户输入的验证码相对应的识别码为50或者50s,其中,当与用户输入的验证码相对应的识别码为50时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为50s时的难度,其原因在于,50为单纯的数字输入,而50s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

第二种方式:本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户输入验证码结束的时刻对应的倒计时秒数。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入验证码的最后一个字符时倒计时秒数为30s,则此时,与用户输入的验证码相对应的识别码为30或者30s,其中,当与用户输入的验证码相对应的识别码为30时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为30s时的难度,其原因在于,30为单纯的数字输入,而30s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

第三种方式:本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数为用户开始输入识别码的时刻对应的倒计时秒数。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入识别码的第一个字符时倒计时秒数为20s,则此时,与用户输入的验证码相对应的识别码为20或者20s,其中,当与用户输入的验证码相对应的识别码为20时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为20s时的难度,其原因在于,20为单纯的数字输入,而20s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

其中,当用户输入的验证码通过计算机程序自动输入时,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数选自计算机程序自动输入验证码结束时刻对应的倒计时秒数,或者,用户开始输入识别码的时刻对应的倒计时秒数。这种情况主要是用在一些验证码可以通过计算机程序自动输入时的情况,在这种情况下,计算机程序可以自动采集用户手机获取到的验证码,并将其输入到其正在应用的计算机程序中,例如,在用户登录到网上银行的过程中,在向网上银行系统相对应的位置输入验证码时,网上银行系统能够通过自动采集用户手机获取的验证码,将网上银行系统向用户手机发送的验证码自动输入到网上银行相对应的位置,从而减少用户手动向网上银行系统输入验证码的耗时,以及减少由于用户通过手动向网上银行系统输入验证码时有可能出现的误差。在这种情况下,为了避免验证码和识别码全部都通过计算机程序输入而难以对计算机程序输入和人类输入进行识别,识别码必须通过手动输入。

其中,当用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码完全相同时,若用户输入验证码以及与用户输入的验证码相对应的识别码的总耗时超过本次获取验证码与再次获取验证码之间间隔范围,则确认输入验证码的用户为非本人操作。在这种情况下,有可能存在一种特殊的情况,即,用户甲将自己手机上获取到的验证码发送给用户乙,然后用户乙再根据从用于甲转移而来的验证码输入到应用程序中,由于在这一过程中,存在用户乙联络用户甲并请求用户甲将已经接收到的包含验证码的短信发送给用户乙,以及用户乙实际执行向用户甲发送包含验证码的短信的步骤,因此,需要耗费更多的时间,因此,能够通过计算用户输入验证码以及与用户输入的验证码相对应的识别码的总耗时是否超过本次获取验证码与再次获取验证码之间间隔范围,大致识别出是否为接收到包含验证码的短信的用户本人操作的情形。具体而言,其内容为:

当输入验证码的用户为非本人操作时,若验证码的输入能够通过授权由他人代为输入,则确认验证码的输入为有效输入;若验证码的输入不允许通过授权由他人代为输入,则确认验证码的输入为无效输入。在这种情况下,用户正在应用的程序能够根据用户是否授权而确认由非本人操作实现验证码的输入是有效输入还是无效输入。其中,若验证码的输入能够通过授权由他人代为输入,在确认验证码的输入为有效输入的步骤之前,还包括获取接收到验证码信息的用户本人授权信息的步骤。在这种情况下,可以根据获取接收到验证码信息的用户本人授权信息的方式得知用户是否对输入验证码的用户进行了授权。此时,可以通过短信、向用户发送弹窗并根据用户在弹窗中选择的是否授权的信息、向用户推送系统信息并根据用户在系统信息中选择的是否授权的信息得知接收到验证码的用户是否对输入验证码的用户进行了授权。

参见附图2,本发明实施例二提供的自动区分计算机程序输入和人类输入的装置包括:

验证码生成模块,用于根据触发,生成验证码;

验证码推送模块,用于将由验证码生成模块生成的验证码发送给相应的用户;

验证码以及识别码获取模块,用于获取用户输入的验证码以及与用户输入的验证码相对应的识别码,以及获取向用户发送的所述验证码以及与向用户发送的所述验证码相对应的识别码;

比对模块,用于同时比对用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码:

在本次获取验证码与再次获取验证码之间间隔范围内,当用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码完全相同时,确认输入验证码的用户为人类,验证码的输入为有效输入;

在本次获取验证码与再次获取验证码之间间隔范围内,当用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码至少有一部分有区别时,确认输入验证码的用户为计算及程序,验证码的输入为无效输入。

本发明实施例二提供的自动区分计算机程序输入和人类输入的装置在比对用户输入的验证码的同时,还需要比对与用户输入的验证码对应的识别码,相当于同时识别验证码与识别码,在这种情况下,由于需要计算机程序在同一事件中同时区分两个事件,即验证码和识别码,因此,增加了计算机程序的输入难度,即便计算机程序依然可以通过不断地学习、仿生,具备该能力,其所对应的能力也比只通过识别验证码区分计算机程序输入和人类输入的方法更高级,因此,在这种情况下,能够杜绝至少一部分能力相对较低的计算机程序输入被误识别为人类输入的情况发生,特别是在有的识别码本身是随机变化,或者只有通过人类的主观能动性进行识别后方可识别到的识别码的情况下,需要计算机程序对应的能力更高级,能够使得误识别的概率发生更低。

其中,自动区分计算机程序输入和人类输入的装置还包括:计数模块,用于计算在确认输入验证码的用户为计算机程序,验证码的输入为无效输入的过程中,允许同时比对用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码的次数。

本实施例中,在确认输入验证码的用户为计算机程序,验证码的输入为无效输入的过程中,允许同时比对用户输入的验证码以及与用户输入的验证码相对应的验证码,和,向用户发送的验证码以及与向用户发送的验证码相对应的识别码的次数≤5次。在这种情况下,本发明实施例提供的自动区分计算机程序输入和人类输入的方法和装置容许5次以下的出错率,能够避免仅一次输入错误就导致人类输入被误识别为计算机程序输入;还能够避免计算机在无穷多次尝试的情况下,碰撞得到正确的验证码以及与向用户发送的验证码相对应的识别码,从而将计算机程序输入误识别为人类输入。

其中,自动区分计算机程序输入和人类输入的装置还包括:秒表模块,用于倒计时本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数。在这种情况下,由于本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数随机性较大,与用户触发输入、用户输入速度等密切相关,因此,其能够进一步增加计算机程序通过学习而实现仿生输入的难度,在这种情况下,其能够使得区分计算机程序输入和人类输入的方法更加简洁。

本实施例中,用户开始输入验证码或者与用户输入的验证码相对应的识别码的时刻,秒表倒计时停止,以此时秒表倒计时秒数为识别码。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入验证码的第一个字符时倒计时秒数为50s,则此时,与用户输入的验证码相对应的识别码为50或者50s,其中,当与用户输入的验证码相对应的识别码为50时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为50s时的难度,其原因在于,50为单纯的数字输入,而50s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

其中,用户输入验证码结束的时刻,秒表倒计时停止,以此时秒表倒计时秒数为识别码。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入验证码的最后一个字符时倒计时秒数为30s,则此时,与用户输入的验证码相对应的识别码为30或者30s,其中,当与用户输入的验证码相对应的识别码为30时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为30s时的难度,其原因在于,30为单纯的数字输入,而30s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

其中,用户开始输入识别码的时刻,秒表倒计时停止,以此时秒表道济时秒数为识别码。例如,本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数总共为60s时,当用户开始输入识别码的第一个字符时倒计时秒数为20s,则此时,与用户输入的验证码相对应的识别码为20或者20s,其中,当与用户输入的验证码相对应的识别码为20时,计算机程序通过学习进行输入的难度要小于当用户输入的验证码相对应的识别码为20s时的难度,其原因在于,20为单纯的数字输入,而20s则为数字与字母的混合输入,后者需要的计算机程序的学习能力更强。

其中,当验证码与识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地开始输入验证码或者用户每次间隔地输入与用户输入的验证码相对应的识别码的时刻,秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。在这种情况下,如果验证码为abcd时,当用户输入a时的开始时刻为58s,当用户输入b时的开始时刻为50s,当用户输入c时的开始时刻为40s,当用户开始输入d时的开始时刻为30s时,则验证码与识别码夹杂的输入方式的情况下,应当输入的内容为a58b50c40d30或者a58sb50sc40sd30s,由此可见,其识别与输入的难度均较大,因此,能够降低区分计算机程序输入和人类输入的难度。

其中,当验证码与识别码预先设定的顺序为验证码与识别码的顺序夹杂时,当验证码与识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地输入验证码结束的时刻,秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。在这种情况下,如果验证码为abcd时,当用户输入a时的结束时刻为50s,当用户输入b时的结束时刻为45s,当用户输入c时的结束时刻为40s,当用户开始输入d时的结束时刻为35s时,则验证码与识别码夹杂的输入方式的情况下,应当输入的内容为a50b45c40d35或者a50sb45sc40sd35s,由此可见,其识别与输入的难度均较大,因此,能够降低区分计算机程序输入和人类输入的难度。

其中,当验证码与识别码预先设定的顺序为验证码与识别码的顺序夹杂时,当验证码与识别码预先设定的顺序为验证码与识别码的顺序夹杂时,用户每次间隔地输入开始输入识别码的时刻,秒表记录一次倒计时秒数,以每次记录的倒计时秒数为待输入识别码。在这种情况下,如果验证码为abcd时,当用户输入开始输入第一识别码的时刻为50s,当用户开始输入第二识别码的时刻为45s,当用户开始输入第三识别码的时刻为40s,当用户开始输入第四识别码的时刻为35s时,则验证码与识别码夹杂的输入方式的情况下,应当输入的内容为a50b45c40d35或者a50sb45sc40sd35s,由此可见,其识别与输入的难度均较大,因此,能够降低区分计算机程序输入和人类输入的难度。

其中,当用户输入的验证码通过计算机程序自动输入时,自动区分计算机程序输入和人类输入的装置还包括:倒计时秒数获取模块,用于获取本次获取验证码与再次获取验证码之间间隔的时间的倒计时秒数选自计算机程序自动输入验证码结束时刻对应的倒计时秒数,或者,用户开始输入识别码的时刻对应的倒计时秒数,并以此作为识别码自动完成识别码的输入。

在这种情况下,倒计时秒数,即相应的识别码能够通过倒计时秒数获取模块获取到,由于识别码必须经由手动输入,因此,此时,还需要对该倒计时秒数进行记录并显示给用户,以便于用户能够根据记录和显示的结果对识别码进行手动输入。

其中,自动区分计算机程序输入和人类输入的装置还包括:

计时模块,用于对用户输入验证码以及与用户输入的验证码相对应的识别码的总耗时,当用户输入验证码以及与用户输入的验证码相对应的识别码的总耗时超过本次获取验证码与再次获取验证码之间间隔范围时,确认输入验证码的用户为非本人操作。在这种情况下,有可能存在一种特殊的情况,即,用户甲将自己手机上获取到的验证码发送给用户乙,然后用户乙再根据从用于甲转移而来的验证码输入到应用程序中,由于在这一过程中,存在用户乙联络用户甲并请求用户甲将已经接收到的包含验证码的短信发送给用户乙,以及用户乙实际执行向用户甲发送包含验证码的短信的步骤,因此,需要耗费更多的时间,因此,能够通过计算用户输入验证码以及与用户输入的验证码相对应的识别码的总耗时是否超过本次获取验证码与再次获取验证码之间间隔范围,大致识别出是否为接收到包含验证码的短信的用户本人操作的情形。具体而言:

当验证码的输入能够通过授权由他人代为输入时,自动区分计算机程序输入和人类输入的装置还包括:

判断模块,用于根据验证码能否通过授权由他人代为输入,确认验证码的输入是否为有效输入:

若验证码的输入能够通过授权由他人代为输入,则确认验证码的输入为有效输入;若验证码的输入不允许通过授权由他人代为输入,则确认验证码的输入为无效输入。

在这种情况下,用户正在应用的程序能够根据用户是否授权而确认由非本人操作实现验证码的输入是有效输入还是无效输入。其中,若验证码的输入能够通过授权由他人代为输入,在确认验证码的输入为有效输入的步骤之前,还包括授权信息获取模块,用于向接收到验证码信息的用户本人推送授权信息对话框,并根据授权信息对话框的结果获取接收到验证码信息的用户本人的授权信息。在这种情况下,可以根据获取接收到验证码信息的用户本人授权信息的方式得知用户是否对输入验证码的用户进行了授权。此时,可以通过短信、向用户发送弹窗并根据用户在弹窗中选择的是否授权的信息、向用户推送系统信息并根据用户在系统信息中选择的是否授权的信息得知接收到验证码的用户是否对输入验证码的用户进行了授权。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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