具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明中特定对象以图片为例进行说明,但不仅限于图片,任何可以用于交互操作的对象,如拖拽操作的对象均可适用于本发明。
图1示出了根据本发明一个实施例的基于交互操作的验证方法的流程示意图,该方法在客户端侧执行,如图1所示,该方法具体包括如下步骤:
步骤S101,获取并显示交互操作所使用的特定对象。
从服务器获取交互操作所使用的图片,图片为服务器预先选择的图片。服务器可以随机选择图片,也可以根据图片间关系选择图片。选择的图片的张数不做限制,可以为一张或多张。具体根据实施情况设置。
获取到交互操作所使用的图片后,将图片进行显示。当显示的图片为一张时,用户基于该图片触发请求;当显示的图片为两张或多张时,用户基于任一指定的图片触发请求。当显示的图片为两张或多张时,可以根据图片间的关系进行显示。如显示的图片为两张或多张,两张或多张图片放置在一起后,可以组成一张完整的图片,此时,将两张或多张图片分块显示;或者两张或多张图片之间为具有顺序关系或为同系列图片,将两张或多张图片按照顺序依次显示;或者两张或多张图片之间没有特定关系,随机显示两张或多张图片。显示两张或多张图片时,可以按照预定移动轨迹进行排列显示或随机排列显示。
步骤S102,接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据预定移动轨迹操作特定对象。
基于显示的图片,接收用户如点击、滑动图片的触发请求,响应该请求,将预定移动轨迹显示给用户,方便用户根据显示的预定移动轨迹移动图片。预定移动轨迹提醒用户在移动图片时按照预定移动轨迹进行移动完成验证。预定移动轨迹可以由一张图片指向另一张图片,或由一张图片指向某一指定位置;多张图片时,可以为间断的预定移动轨迹,方便多张图片依次移动。
预定移动轨迹可以为曲线、折线、直线等各种线型轨迹。
步骤S103,采集用户操作特定对象时的对象移动轨迹,并将对象移动轨迹发送给服务器,以供服务器根据对象移动轨迹得到验证结果。
在采集用户操作图片时真实的对象移动轨迹时,可以根据客户端用户的操作,获取操作的具体动作,得到一系列具体动作的对象移动轨迹。将对象移动轨迹发送给服务器,由服务器将对象移动轨迹和预定移动轨迹进行匹配,得到最终的验证结果。
步骤S104,接收服务器返回的验证结果并进行显示。
接收服务器返回的验证结果,若验证结果为验证通过,则显示验证通过或显示验证通过对应的页面信息;若验证结果为验证不通过,则显示验证不通过。
根据本发明提供的基于交互操作的验证方法,根据用户的触发请求,将预定移动轨迹显示给用户,使得用户很方便的根据预定移动轨迹进行操作,简单便利的完成验证。由于验证需要根据显示的预定移动轨迹对特定对象进行操作,用户(人)很容易实现,但机器还比较难实现,有力的防止了机器暴力破解验证。本发明操作方便易实施,且不需要花费较多的成本。
图2示出了根据本发明另一个实施例的基于交互操作的验证方法的流程示意图,该方法在客户端侧执行,如图2所示,该方法具体包括如下步骤:
步骤S201,获取并显示交互操作所使用的特定对象。
该步骤参照图1实施例的步骤S101的描述,在此不再赘述。
步骤S202,根据特定对象,获取对应的预定移动轨迹。
根据显示的图片,可以从服务器直接获取对应的预定移动轨迹。此时,获取预定移动轨迹后,先不显示,在接收到触发请求后,才显示预定移动轨迹。
不同的图片对应不同的预定移动轨迹,或者不同的图片均对应同一预定移动轨迹。优选不同的图片对应不同的预定移动轨迹,提高验证的安全性。进一步,还可以对相同的图片在不同时间的显示时,由服务器随机设置不同的预定移动轨迹,使得交互操作验证时更加安全,不易被破解。
步骤S201和步骤S202可以同时执行,在获取图片的同时,获取到对应的预定移动轨迹。或者,步骤S202可以在步骤S203接收到用户操作特定对象的触发请求后,再获取对应的预定移动轨迹进行显示。此处不限定执行顺序。
步骤S203,接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据预定移动轨迹操作特定对象。
步骤S204,采集用户操作特定对象时的对象移动轨迹,并将对象移动轨迹发送给服务器,以供服务器根据对象移动轨迹得到验证结果。
步骤S205,接收服务器返回的验证结果并进行显示。
以上步骤参照图1实施例中的步骤S102-S104,在此不再赘述。
进一步,获取到交互操作所使用的特定对象后,可以在客户端对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,这样使得对于机器而言,处理后的特定对象更具有迷惑性,使得机器破解的难度更大。但对于用户而言,不需要关注对特定对象增加的各种处理,仅对其进行触发,按照预定移动轨迹进行操作即可。或者,还可以对预定移动轨迹也增加如噪声干扰处理、变色处理、变形处理等处理,这样机器在破解预定移动轨迹时,破解的难度增大,机器要模仿用户按照预定移动轨迹操作特定对象的难度也增大,大大提升了验证的安全。此处可以仅对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,也可以仅对预定移动轨迹增加如噪声干扰处理、变色处理、变形处理等处理,或者还可以对特定对象和预定移动轨迹均增加如噪声干扰处理、变色处理、变形处理等处理。增加的处理可以为相同的处理如均为噪声干扰处理,但干扰所使用的噪声值不同;或者增加的处理为不同的处理,根据实施情况进行设置,此处不做限定。以上对特定对象和/或预定移动轨迹增加的处理可以在客户端获取到特定对象和/或预定移动轨迹后再对其做增加的处理,也可以在服务器对选取的特定对象和/或预定移动轨迹增加了如噪声干扰处理、变色处理、变形处理等处理,再将处理后的特定对象和/或预定移动轨迹发送给客户端,客户端仅直接显示处理后的特定对象和/或预定移动轨迹。
根据本发明提供的基于交互操作的验证方法,在服务器侧对特定对象设置对应的预定移动轨迹,不同的图片可以对应不同的预定移动轨迹,提高验证的安全性。进一步,当服务器实时的根据显示的图片随机设置不同的预定移动轨迹,使得显示的预定移动轨迹更具有随机性,不易被破解,大大提升验证的安全。同时,显示预定移动轨迹方便用户可以根据显示的预定移动轨迹进行相应的移动,对用户而言,操作更简单便利。
图3示出了根据本发明另一个实施例的基于交互操作的验证方法的流程示意图,该方法在客户端侧执行,如图3所示,该方法具体包括如下步骤:
步骤S301,获取并显示交互操作所使用的特定对象。
该步骤参照图1实施例的步骤S101的描述,在此不再赘述。
步骤S302,根据特定对象,获取对应的预定移动轨迹参数。
步骤S303,根据预定移动轨迹参数,生成预定移动轨迹。
根据显示的图片,获取对应的预定移动轨迹参数。预定移动轨迹参数由服务器根据图片设置,如服务器设置的预定移动轨迹为高阶贝塞尔曲线类型,具体的高阶贝塞尔曲线类型使用了3阶贝塞尔函数进行构建。贝塞尔函数如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,预定移动轨迹参数包括了P0、P1、P2和P3。即根据显示的图片,获取预定移动轨迹参数P0、P1、P2和P3。
根据预定移动轨迹参数P0、P1、P2和P3,在客户端生成预定移动轨迹。由于从服务器仅获取预定移动轨迹参数,减少了客户端直接从服务器获取预定移动轨迹所消耗的网络流量和时间,使得处理速度更快。
步骤S301和步骤S302、步骤S303可以同时执行,在获取图片的同时,获取到对应的预定移动轨迹参数,生成预定移动轨迹。或者,步骤S302、步骤S303可以在步骤S304接收到用户操作特定对象的触发请求后,再获取对应的预定移动轨迹参数,生成预定移动轨迹,进行显示。此处不限定执行顺序。
步骤S304,接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据预定移动轨迹操作特定对象。
步骤S305,采集用户操作特定对象时的对象移动轨迹,并将对象移动轨迹发送给服务器,以供服务器根据对象移动轨迹得到验证结果。
步骤S306,接收服务器返回的验证结果并进行显示。
以上步骤参照图1实施例中的步骤S102-S104,在此不再赘述。
进一步,获取到交互操作所使用的特定对象后,可以在客户端对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,这样使得对于机器而言,处理后的特定对象更具有迷惑性,使得机器破解的难度更大。但对于用户而言,不需要关注对特定对象增加的各种处理,仅对其进行触发,按照预定移动轨迹进行操作即可。或者,还可以对预定移动轨迹也增加如噪声干扰处理、变色处理、变形处理等处理,这样机器在破解预定移动轨迹时,破解的难度增大,机器要模仿用户按照预定移动轨迹操作特定对象的难度也增大,大大提升了验证的安全。此处可以仅对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,也可以仅对预定移动轨迹增加如噪声干扰处理、变色处理、变形处理等处理,或者还可以对特定对象和预定移动轨迹均增加如噪声干扰处理、变色处理、变形处理等处理。增加的处理可以为相同的处理如均为噪声干扰处理,但干扰所使用的噪声值不同;或者增加的处理为不同的处理,根据实施情况进行设置,此处不做限定。以上对特定对象和/或预定移动轨迹增加的处理可以在客户端获取到特定对象和/或生成预定移动轨迹后再对其做增加的处理,也可以在服务器对选取的特定对象增加了如噪声干扰处理、变色处理、变形处理等处理,再将处理后的特定对象发送给客户端,客户端仅直接显示处理后的特定对象,对生成的预定移动轨迹可以再增加如噪声干扰处理、变色处理、变形处理等处理。
根据本发明提供的基于交互操作的验证方法,从服务器获取特定对象对应的预定移动轨迹参数,根据预定移动轨迹参数在客户端生成对应的预定移动轨迹,减少了客户端直接从服务器获取预定移动轨迹所消耗的网络流量和时间,使得处理速度更快。
图4示出了根据本发明另一个实施例的基于交互操作的验证方法的流程示意图,该方法在服务器侧执行,如图4所示,该方法具体包括如下步骤:
步骤S401,为特定对象生成预定移动轨迹。
显示用的图片为服务器预先随机选取的,在选取图片后,为选取的图片生成预定移动轨迹。生成时,可以根据选取的图片从预设轨迹数据库中选择对应的轨迹类型。如根据选取的图片大小、相互关系、可能的排列位置等,选择对应的轨迹类型;或者不需要考虑上述因素时,可以随机的选择轨迹类型。根据选择的轨迹类型确定预定移动轨迹参数。
如选择的预定移动轨迹类型为高阶贝塞尔曲线,具体的高阶贝塞尔曲线使用3阶贝塞尔函数进行构建。贝塞尔函数如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,预定移动轨迹参数包括了P0、P1、P2和P3。预定移动轨迹参数P0、P1、P2和P3可以为随机数,由服务器随机生成,并保存在服务器数据库中。
在客户端显示图片后,再获取预定移动轨迹参数或者获取根据预定移动轨迹参数生成的预定移动轨迹(生成预定移动轨迹的时间点可以为保存预定移动轨迹参数后直接生成预定移动轨迹,或者为客户端获取时才生成预定移动轨迹)。
高阶贝塞尔曲线是依据四个位置任意的点坐标绘制出的一条光滑曲线,在客户端显示的预定移动轨迹为高阶贝塞尔曲线时,用户可以根据显示的高阶贝塞尔曲线移动特定对象。高阶贝塞尔曲线更加贴近用户操作的行为习惯,但对于机器而言,按照高阶贝塞尔曲线移动比较困难。因此,预定移动轨迹为高阶贝塞尔曲线可以有效的区分用户和机器。
进一步,还可以仅先选择轨迹类型,预定移动轨迹参数可以不预先固定。在客户端显示图片后,预定移动轨迹参数P0、P1、P2和P3再随机生成。此时随机因子可以为如根据当前的系统时间来确定;或者用户在客户端触发请求时,同时获取到用户在客户端已经填写的用户信息,随机因子根据用户信息来确定。在确定随机因子后,根据随机因子确定预定移动轨迹参数P0、P1、P2和P3。之后,再将预设移动轨迹参数P0、P1、P2和P3或生成的预定移动轨迹返回给客户端。
预定移动轨迹中还包括了移动方向,移动方向也由预定移动轨迹参数来确定。如设置预设移动轨迹参数P0为移动起点、P3为移动终点,具体设置根据实施情况进行设置,此处不做限定。
步骤S402,接收客户端发送的对象移动轨迹。
步骤S403,判断对象移动轨迹与预定移动轨迹的相似度是否高于预设阈值。
接收客户端采集到的对象移动轨迹,将对象移动轨迹和预定移动轨迹进行匹配,计算两个移动轨迹之间的相似度。具体可以使用如弗雷歇距离(Fr é chet distance)、豪斯多夫距离(Hausdorff distance)等距离算法,计算得到两个移动轨迹之间的相似度。判断当相似度高于预设阈值,如90%时,认为验证通过,执行步骤S404,否则,认为验证不通过,执行步骤S405。
步骤S404,返回验证通过。
步骤S405,返回验证不通过。
将具体的验证通过或验证不通过的验证结果返回给客户端,由客户端进行显示。
根据本发明提供的基于交互操作的验证方法,在服务器侧根据特定对象生成对应的预定移动轨迹,生成时,也可以随机生成预定移动轨迹参数,这样使得生成的预定移动轨迹更不易被机器暴力破解,保障验证安全。由于预设移动轨迹具有随机性,机器比较难做到和预定移动轨迹相同对象移动轨迹。使用距离算法计算得到对象移动轨迹与预定移动轨迹的相似度,根据相似度判断验证结果,更容易区分用户和机器。
图5示出了根据本发明一个实施例的客户端的功能框图,如图5所示,客户端中包含以下模块:
第一显示模块510,用于获取并显示交互操作所使用的特定对象。
第一显示模块510从服务器获取交互操作所使用的图片,图片为服务器预先选择的图片。服务器可以随机选择图片,也可以根据图片间关系选择图片。选择的图片的张数不做限制,可以为一张或多张。具体根据实施情况设置。
第一显示模块510获取到交互操作所使用的图片后,将图片进行显示。当第一显示模块510显示的图片为一张时,用户基于该图片触发请求;当第一显示模块510显示的图片为两张或多张时,用户基于任一指定的图片触发请求。当第一显示模块510显示的图片为两张或多张时,可以根据图片间的关系进行显示。如第一显示模块510显示的图片为两张或多张,两张或多张图片放置在一起后,可以组成一张完整的图片,此时,第一显示模块510将两张或多张图片分块显示;或者两张或多张图片之间为具有顺序关系或为同系列图片,第一显示模块510将两张或多张图片按照顺序依次显示;或者两张或多张图片之间没有特定关系,第一显示模块510随机显示两张或多张图片。第一显示模块510显示两张或多张图片时,可以按照预定移动轨迹进行排列显示或随机排列显示。
进一步,第一显示模块510获取到交互操作所使用的特定对象后,可以在客户端对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,这样使得对于机器而言,处理后的特定对象更具有迷惑性,使得机器破解的难度更大。但对于用户而言,不需要关注对特定对象增加的各种处理,仅对其进行触发,按照预定移动轨迹进行操作即可。此处,可以由第一显示模块510对特定对象做增加的处理,也可以由服务器对选取的特定对象增加了如噪声干扰处理、变色处理、变形处理等处理,第一显示模块510仅直接显示处理后的特定对象。
第二显示模块520,用于接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据预定移动轨迹操作特定对象。
基于显示的图片,第二显示模块520接收用户如点击、滑动图片的触发请求,响应该请求,将预定移动轨迹显示给用户,方便用户根据显示的预定移动轨迹移动图片。预定移动轨迹提醒用户在移动图片时按照预定移动轨迹进行移动完成验证。预定移动轨迹可以由一张图片指向另一张图片,或由一张图片指向某一指定位置;多张图片时,可以为间断的预定移动轨迹,方便多张图片依次移动。
预定移动轨迹可以为曲线、折线、直线等各种线型轨迹。
进一步,第二显示模块520还可以对预定移动轨迹也增加如噪声干扰处理、变色处理、变形处理等处理,这样机器在破解预定移动轨迹时,破解的难度增大,机器要模仿用户按照预定移动轨迹操作特定对象的难度也增大,大大提升了验证的安全。此处,第二显示模块520获取到预定移动轨迹后再对其做增加的处理,也可以在服务器对预定移动轨迹增加了如噪声干扰处理、变色处理、变形处理等处理,第二显示模块520仅直接显示处理后的预定移动轨迹。
本实施例中可以仅第一显示模块510对特定对象增加如噪声干扰处理、变色处理、变形处理等处理,也可以仅第二显示模块520对预定移动轨迹增加如噪声干扰处理、变色处理、变形处理等处理;或者第一显示模块510和第二显示模块520分别对特定对象和预定移动轨迹增加如噪声干扰处理、变色处理、变形处理等处理。第一显示模块510和第二显示模块520增加的处理可以为相同的处理如均为噪声干扰处理,但干扰所使用的噪声值不同;或者第一显示模块510和第二显示模块520增加的处理为不同的处理,根据实施情况进行设置,此处不做限定。
采集模块530,用于采集用户操作特定对象时的对象移动轨迹,并将对象移动轨迹发送给服务器,以供服务器根据对象移动轨迹得到验证结果。
采集模块530在采集用户操作图片时真实的对象移动轨迹时,可以根据客户端用户的操作,获取操作的具体动作,得到一系列具体动作的对象移动轨迹。采集模块530将对象移动轨迹发送给服务器,由服务器将对象移动轨迹和预定移动轨迹进行匹配,得到最终的验证结果。
第三显示模块540,用于接收服务器返回的验证结果并进行显示。
第三显示模块540接收服务器返回的验证结果,若验证结果为验证通过,则第三显示模块540显示验证通过或显示验证通过对应的页面信息;若验证结果为验证不通过,则第三显示模块540显示验证不通过。
根据本发明提供的客户端,根据用户的触发请求,将预定移动轨迹显示给用户,使得用户很方便的根据预定移动轨迹进行操作,简单便利的完成验证。由于验证需要根据显示的预定移动轨迹对特定对象进行操作,用户(人)很容易实现,但机器还比较难实现,有力的防止了机器暴力破解验证。本发明操作方便易实施,且不需要花费较多的成本。
图6示出了根据本发明另一个实施例的客户端的功能框图,如图6所示,与图5相比,客户端还包括如下模块:
第一获取模块550,用于根据特定对象,获取对应的预定移动轨迹。
第一获取模块550根据显示的图片,可以从服务器直接获取对应的预定移动轨迹。此时,第一获取模块550获取预定移动轨迹后,先不显示,在第二显示模块520接收到触发请求后,第二显示模块520显示预定移动轨迹。
不同的图片对应不同的预定移动轨迹,或者不同的图片均对应同一预定移动轨迹。优选不同的图片对应不同的预定移动轨迹,提高验证的安全性。进一步,还可以对相同的图片在不同时间的显示时,由服务器随机设置不同的预定移动轨迹,使得交互操作验证时更加安全,不易被破解。
第一显示模块510和第一获取模块550可以同时执行,在第一显示模块510获取图片的同时,第一获取模块550获取到对应的预定移动轨迹。或者,第一获取模块550可以在第二显示模块520接收到用户操作特定对象的触发请求后,第一获取模块550再获取对应的预定移动轨迹进行显示。此处不限定执行顺序。
第二获取模块560,用于根据特定对象,获取对应的预定移动轨迹参数;根据预定移动轨迹参数,生成预定移动轨迹。
第二获取模块560根据显示的图片,获取对应的预定移动轨迹参数。预定移动轨迹参数由服务器根据图片设置,如服务器设置的预定移动轨迹为高阶贝塞尔曲线类型,具体的高阶贝塞尔曲线类型使用了3阶贝塞尔函数进行构建。贝塞尔函数如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,预定移动轨迹参数包括了P0、P1、P2和P3。即根据显示的图片,获取预定移动轨迹参数P0、P1、P2和P3。
第二获取模块560根据预定移动轨迹参数P0、P1、P2和P3,在客户端生成预定移动轨迹。由于从服务器仅获取预定移动轨迹参数,减少了客户端直接从服务器获取预定移动轨迹所消耗的网络流量和时间,使得处理速度更快。
第一显示模块510和第二获取模块560可以同时执行,在第一显示模块510获取图片的同时,第二获取模块560获取到对应的预定移动轨迹参数,生成预定移动轨迹。或者,第二获取模块560可以在第二显示模块520接收到用户操作特定对象的触发请求后,第二获取模块560再获取对应的预定移动轨迹参数,生成预定移动轨迹,进行显示。此处不限定执行顺序。
以上第一获取模块550和第二获取模块560在客户端中可以仅包含其中任一模块,具体根据实施情况设置,此处不做限定。
除以上模块之外的其他模块可参考图5客户端实施例的描述,此处不再赘述。
根据本发明提供的客户端,从服务器侧对获取特定对象设置对应的预定移动轨迹,不同的图片可以对应不同的预定移动轨迹,提高验证的安全性。或者从服务器获取特定对象对应的预定移动轨迹参数,根据预定移动轨迹参数在客户端生成对应的预定移动轨迹,减少了客户端直接从服务器获取预定移动轨迹所消耗的网络流量和时间,使得处理速度更快。
图7示出了根据本发明另一个实施例的服务器的功能框图,如图7所示,服务器包括如下模块:
生成模块710,用于为特定对象生成预定移动轨迹。
显示用的图片为生成模块710预先随机选取的,生成模块710在选取图片后,为选取的图片生成预定移动轨迹。生成模块710生成时,可以根据选取的图片从预设轨迹数据库中选择对应的轨迹类型。如根据选取的图片大小、相互关系、可能的排列位置等,生成模块710选择对应的轨迹类型;或者不需要考虑上述因素时,生成模块710可以随机的选择轨迹类型。生成模块710根据选择的轨迹类型确定预定移动轨迹参数。
如生成模块710选择的预定移动轨迹类型为高阶贝塞尔曲线,具体的高阶贝塞尔曲线使用3阶贝塞尔函数进行构建。贝塞尔函数如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,预定移动轨迹参数包括了P0、P1、P2和P3。预定移动轨迹参数P0、P1、P2和P3可以为随机数,由生成模块710随机生成,并保存在服务器数据库中。
在客户端显示图片后,再获取预定移动轨迹参数或者获取根据预定移动轨迹参数生成的预定移动轨迹(生成模块710生成预定移动轨迹的时间点可以为保存预定移动轨迹参数后直接生成预定移动轨迹,或者为客户端获取时才生成预定移动轨迹)。
进一步,生成模块710还可以仅先选择轨迹类型,预定移动轨迹参数可以不预先固定。在客户端显示图片后,生成模块710再随机生成预定移动轨迹参数P0、P1、P2和P3。此时随机因子可以为如根据当前的系统时间来确定;或者用户在客户端触发请求时,同时获取到用户在客户端已经填写的用户信息,随机因子根据用户信息来确定。生成模块710在确定随机因子后,根据随机因子确定预定移动轨迹参数P0、P1、P2和P3。之后,再将预设移动轨迹参数P0、P1、P2和P3或生成的预定移动轨迹返回给客户端。
高阶贝塞尔曲线是依据四个位置任意的点坐标绘制出的一条光滑曲线,在客户端显示的预定移动轨迹为高阶贝塞尔曲线时,用户可以根据显示的高阶贝塞尔曲线移动特定对象。高阶贝塞尔曲线更加贴近用户操作的行为习惯,但对于机器而言,按照高阶贝塞尔曲线移动比较困难。因此,预定移动轨迹为高阶贝塞尔曲线可以有效的区分用户和机器。
预定移动轨迹中还包括了移动方向,移动方向也由预定移动轨迹参数来确定。如生成模块710设置预设移动轨迹参数P0为移动起点、P3为移动终点,具体设置根据实施情况进行设置,此处不做限定。
接收模块720,用于接收客户端发送的对象移动轨迹。
判断模块730,用于判断对象移动轨迹与预定移动轨迹的相似度是否高于预设阈值;若是,则返回验证通过;否则,则返回验证不通过。
接收模块720接收客户端采集到的对象移动轨迹,判断模块730将对象移动轨迹和预定移动轨迹进行匹配,计算两个移动轨迹之间的相似度。具体判断模块730可以使用如弗雷歇距离(Fr é chet distance)、豪斯多夫距离(Hausdorff distance)等距离算法,计算得到两个移动轨迹之间的相似度。判断模块730判断当相似度高于预设阈值,如90%时,认为验证通过,否则,认为验证不通过。判断模块730将具体的验证通过或验证不通过的验证结果返回给客户端,由客户端进行显示。
根据本发明提供的服务器,在服务器侧根据特定对象生成对应的预定移动轨迹,生成时,也可以随机生成预定移动轨迹参数,这样使得生成的预定移动轨迹更不易被机器暴力破解,保障验证安全。由于预设移动轨迹具有随机性,机器比较难做到和预定移动轨迹相同对象移动轨迹。使用距离算法计算得到对象移动轨迹与预定移动轨迹的相似度,根据相似度判断验证结果,更容易区分用户和机器。
图8示出了本发明提供的一个实施例的基于交互操作的验证系统的结构示意图,如图8所示,该基于交互操作的验证系统包括:客户端500和服务器700。其中,客户端500为本发明提供的图6实施例的客户端,服务器700为本发明提供的图7所示的服务器。利用本发明提供的基于交互操作的验证系统,根据用户的触发请求,将预定移动轨迹显示给用户,使得用户很方便的根据预定移动轨迹进行操作,简单便利的完成验证。由于验证需要根据显示的预定移动轨迹对特定对象进行操作,用户(人)很容易实现,但机器还比较难实现,有力的防止了机器暴力破解验证。本发明操作方便易实施,且不需要花费较多的成本。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于交互操作的验证方法。
图9示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图9所示,该计算设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。
其中:
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
通信接口904,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器902,用于执行程序910,具体可以执行上述基于交互操作的验证方法实施例中的相关步骤。
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
处理器902可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序910具体可以用于使得处理器902执行上述任意方法实施例中的基于交互操作的验证方法。程序910中各步骤的具体实现可以参见上述基于交互操作的验证实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种基于交互操作的验证方法,所述方法在客户端侧执行,其特征在于,所述方法包括:
获取并显示交互操作所使用的特定对象;
接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据所述预定移动轨迹操作所述特定对象;
采集用户操作所述特定对象时的对象移动轨迹,并将所述对象移动轨迹发送给服务器,以供服务器根据所述对象移动轨迹得到验证结果;
接收服务器返回的验证结果并进行显示。
A2.根据A1所述的方法,其特征在于,所述预定移动轨迹为曲线和/或折线。
A3.根据A1所述的方法,其特征在于,所述移动轨迹为高阶贝塞尔曲线。
A4.根据A1所述的方法,其特征在于,在接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户之前,所述方法还包括:
根据特定对象,获取对应的预定移动轨迹。
A5.根据A1所述的方法,其特征在于,在接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户之前,所述方法还包括:
根据特定对象,获取对应的预定移动轨迹参数;
根据所述预定移动轨迹参数,生成预定移动轨迹。
本发明还公开了:B6.一种基于交互操作的验证方法,所述方法在服务器侧执行,其特征在于,所述方法包括:
为特定对象生成预定移动轨迹;
接收客户端发送的对象移动轨迹;
判断所述对象移动轨迹与预定移动轨迹的相似度是否高于预设阈值;
若是,则返回验证通过;否则,则返回验证不通过。
B7.根据B6所述的方法,其特征在于,所述为特定对象生成预定移动轨迹进一步包括:
根据特定对象从预设轨迹数据库中选择对应的轨迹类型;
根据所述轨迹类型确定预定移动轨迹参数。
B8.根据B7所述的方法,其特征在于,所述预定移动轨迹参数根据系统时间和/或用户信息生成。
本发明还公开了:C9.一种客户端,其特征在于,包括:
第一显示模块,用于获取并显示交互操作所使用的特定对象;
第二显示模块,用于接收用户操作特定对象的触发请求,将预定移动轨迹显示给用户,以提醒用户根据所述预定移动轨迹操作所述特定对象;
采集模块,用于采集用户操作所述特定对象时的对象移动轨迹,并将所述对象移动轨迹发送给服务器,以供服务器根据所述对象移动轨迹得到验证结果;
第三显示模块,用于接收服务器返回的验证结果并进行显示。
C10.根据C9所述的客户端,其特征在于,所述预定移动轨迹为曲线和/或折线。
C11.根据C9所述的客户端,其特征在于,所述预定移动轨迹为高阶贝塞尔曲线。
C12.根据C9所述的客户端,其特征在于,所述客户端还包括:
第一获取模块,用于根据特定对象,获取对应的预定移动轨迹。
C13.根据C9所述的客户端,其特征在于,所述客户端还包括:
第二获取模块,用于根据特定对象,获取对应的预定移动轨迹参数;根据所述预定移动轨迹参数,生成预定移动轨迹。
本发明还公开了:D14.一种服务器,其特征在于,包括:
生成模块,用于为特定对象生成预定移动轨迹;
接收模块,用于接收客户端发送的对象移动轨迹;
判断模块,用于判断所述对象移动轨迹与预定移动轨迹的相似度是否高于预设阈值;若是,则返回验证通过;否则,则返回验证不通过。
D15.根据D14所述的服务器,其特征在于,所述生成模块进一步用于:
根据特定对象从预设轨迹数据库中选择对应的轨迹类型;根据所述轨迹类型确定预定移动轨迹参数。
D16.根据D15所述的服务器,其特征在于,所述预定移动轨迹参数根据系统时间和/或用户信息生成。
本发明还公开了:E17.一种基于交互操作的验证系统,其特征在于,包括C9-C13中任一项所述的客户端和D14-D16中任一项所述的服务器。
本发明还公开了:F18.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A5中任一项所述的基于交互操作的验证方法对应的操作。
本发明还公开了:G19.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A5中任一项所述的基于交互操作的验证方法对应的操作。
本发明还公开了:H20.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如B6-B8中任一项所述的基于交互操作的验证方法对应的操作。
本发明还公开了:I21.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求B6-B8中任一项所述的基于交互操作的验证方法对应的操作。