一种验证码的防刷方法技术

技术编号:20843405 阅读:35 留言:0更新日期:2019-04-13 08:50
本发明专利技术提供了一种验证码的防刷方法,涉及互联网技术领域,包括:在需要输入验证码的客户端界面上生成验证图片以及与所述验证图片相对应的参照图片,所述验证图片和所述参照图片分别包括多个节点以及与各个所述节点相对应的图元,所述验证图片的各个所述节点以及所述图元按照预先设定的布局格式进行布局,所述验证图片的各个图元均为动态图元;所述动态图元包括间隔预设时间各个图元之间相互变换;获取在所述验证图片的画图轨迹,依次提取画图轨迹中的各个节点,并根据提取到的节点,生成节点列表;当生成的节点列表与所述参照图片中的节点列表相同时,表示验证码输入成功。本发明专利技术能有效降低验证码被软件破解的成功率,提高了验证码的安全性。

【技术实现步骤摘要】
一种验证码的防刷方法
本专利技术涉及互联网
,尤其涉及一种验证码的防刷方法。
技术介绍
随着计算机技术的发展和黑客技术的不断提高,网站和论坛通过验证码,防止恶意破解密码、申请注册、论坛灌水等。验证码从纯粹的数字验证码到扭曲的图片验证码,用户需要肉眼识别图中的符合信息并且完成手工键盘输入,由程序进行验证码匹配判断。随着OCR(OpticalCharacterRecognition,光学字符识别)与人工智能等技术的发展,传统的验证码很容易被破解。
技术实现思路
本专利技术针对现有技术的不足提供一种验证码的防刷方法,能有效降低验证码被软件破解的成功率,提高了验证码的安全性。本专利技术提供了一种验证码的防刷方法,包括:在需要输入验证码的客户端界面上生成验证图片以及与所述验证图片相对应的参照图片,所述验证图片和所述参照图片分别包括多个节点以及与各个所述节点相应的图元,所述验证图片的各个所述节点以及所述图元按照预先设定的布局格式进行布局,所述验证图片的各个图元均为动态图元;所述动态图元包括间隔预设时间各个图元之间相互变换;所述验证图片中各个节点变换前后可对应不同的坐标,当各个图元之间相互变换时,各个图元的对应的节点保持不变;根据所述参照图片上的各个图元的排列顺序,获取在所述验证图片的画图轨迹,依次提取画图轨迹中的各个节点,并根据提取到的节点,生产节点列表;所述画图轨迹为在验证图片中依次选取的图元所对应的节点所形成的轨迹;当生成的节点列表与所述参照图片中的节点列表相同时,表示验证码输入成功。进一步,所述间隔预设时间各个图元之间相互变换,包括:获取各个图元在布局格式中的节点和坐标值,根据预先设定的变换方式变换对应坐标上的图元,使得各个图元变换前后的节点不变。进一步,所述预先设定的变换方式,包括:将所述验证图片中的各个图元在坐标X轴上的值与Y轴上的值对调。进一步,所述预先设定的变换方式,包括:将Y轴上的值Yn相同的所有图元及节点对应的当前X轴上的值Xn根据预设公式得到新的X轴上的值X′n,所述新的X轴上的值X′n与所述Y轴上的值Yn组合形成对应图元变换后的坐标值(X′n、Yn);其中,当n、m均为正整数,且当Xn+n≤m时,X′n=Xn+n;当n、m均为正整数,且当Xn+n>m时,X′n=Xn+n-m;当n为负整数、m为正整数,且当Xn-|n|≤0时,X′n=Xn-|n|+m;当n为负整数、m为正整数,且当Xn-|n|>0时,X′n=Xn-|n|;其中,m为所述布局格式中X轴上的值的个数。进一步,所述预先设定的变换方式,还包括:将X轴上的值Xn相同的所有图元及节点对应的当前Y轴上的值Yn根据预设公式得到新的Y轴上的值Y′n,所述新的X轴上的值Y′n与所述X轴上的值Xn组合形成对应图元变换后的坐标值(Y′n,Xn);其中,当n、m均为正整数,且当Yn+n≤m时,Y′n=Yn+n;当n、m均为正整数,且当Yn+n>m时,Y′n=Yn+n-m;当n为负整数、m为正整数,且当Yn-|n|≤0时,Y′n=Yn-|n|+m;当n为负整数、m为正整数,且当Yn-|n|>0时,Y′n=Yn-|n|;其中,m为所述布局格式中Y轴上的值的个数。进一步,所述动态图元还包括在当前坐标位置上以动态显示的方式显示图元。进一步,所述验证图片为支持鼠标和触摸方式交互的图片。进一步,在所述参照图片中,至少一个所述图元上设有干扰像素。与现有技术相比,本专利技术具有以下有益效果:本专利技术的验证码从时间、位置、以及形状上均设置为动态,与现有技术中的验证码相比,本专利技术的验证码具有很高的识别难度,能有效防止软件自动识别破解,提升了验证码的安全性能。附图说明图1为本专利技术实施例提供的验证码输入方法的实施流程图;图2为本专利技术实施例提供的在实际应用中表格布局的较佳的样例图。图3为本专利技术实施例提供的其中一种验证图片样例图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1-3所示,一种验证码的防刷方法,包括:步骤S01,在需要输入验证码的客户端界面上生成验证图片以及与所述验证图片相对应的参照图片,所述验证图片和所述参照图片分别包括多个节点以及与各个所述节点相对应的图元,所述验证图片的各个所述节点以及所述图元按照预先设定的布局格式进行布局,所述验证图片的各个图元均为动态图元;所述动态图元包括间隔预设时间各个图元之间相互变换;所述验证图片中各个节点变换前后可对应不同的坐标,当各个图元之间相互变换时,各个图元对应的节点保持不变。其中,所述布局格式包括但不限于表格布局和圆形布局,表格布局可以是A*B的表格布局,其中A为大于1的整数,其中B为大于1的整数。A和B的值可以为系统随机确定的,也可以由系统内部固定下来。优选地,A和B的值相等。在本实施例中,以表格布局为例,验证图片为一个A*B的布局格式,其中A为3,B为3,形成一个九宫格的验证图片。如图2所示。表格布局中的各个表格均对应唯一的一个节点,每一个节点均可以填充唯一一个图元。表格布局中的各个图元之间可以相互变换,当各个图元相互变换时,各个图元对应的节点保持不变,各个图元变换前后对应的坐标不同,即变换前后各个节点对应不同的坐标。步骤S02,根据所述参照图片上的各个图元的排列顺序,获取在所述验证图片的画图轨迹,依次提取画图轨迹中的各个节点,并根据提取到的节点,生成节点列表;所述画图轨迹为在验证图片中依次选取的图片所对应的节点所形成的轨迹。所述节点列表是按照提取的时间先后顺序排列的节点列表。步骤S03,当生成的节点列表与所述参照图片中的节点列表相同时,表示验证码输入成功。具体地,用户可根据所述参照图片上的各个图元的排列顺序,依次点选在所述验证图片上的若干个图元,以获取若干个节点。所述若干个图元与所述参照图片上的所有图元一一对应。然后按照用户点选图元的时间先后顺序生成节点列表。最后,将生成的节点列表与所述参照图片中的节点列表作对比,当两个列表相同时,表示验证码输入成功。在步骤S01中,所述间隔预设时间各个图元之间相互变换,包括:获取各个图元在布局格式中的节点和坐标值,间隔预设时间内根据预先设定的变换方式变换对应坐标上的图元,使得各个图元变换前后的节点保持不变。其中,所述坐标为二维的直角坐标系,包括与水平方向平行的X轴、与所述X轴垂直的Y轴。所述预设时间可以为系统随机设定,也可以为人为设定。在实施例一中,所述预先设定的变换方式,包括:将所述验证图片中的各个图元在坐标X轴上的值与Y轴上的值对调。具体为,首先将所述验证图片设置在直角坐标系内,使得验证图片中的各个图元及节点均具有唯一的一个坐标值;然后获取所述验证图片中的所有图元的当前坐标值,如:(X1,Y1)、(X2,Y2)、……(Xn,Yn);然后将各个图元的当前坐标值中X轴上的值与Y轴上的值各自对调,得到变换后的新坐标值,即:(Y1,X1)、(Y2,X2)……(Yn,Xn)。各个图元及节点根据新坐标值自动变换至对应的坐标位置,通过采用该种方式将验证图片中的各个图元及节点的位置发生变换。在此过程中,验证图片的布局格式不变,而且布局格式本文档来自技高网...

【技术保护点】
1.一种验证码的防刷方法,其特征在于,包括:在需要输入验证码的客户端界面上生成验证图片以及与所述验证图片相对应的参照图片,所述验证图片和所述参照图片分别包括多个节点以及与各个所述节点相对应的图元,所述验证图片的各个所述节点以及所述图元按照预先设定的布局格式进行布局,所述验证图片的各个图元均为动态图元;所述动态图元包括间隔预设时间各个图元之间相互变换;所述验证图片中各个节点变换前后可对应不同的坐标,当各个图元之间相互变换时,各个图元的对应的节点保持不变;根据所述参照图片上的各个图元的排列顺序,获取在所述验证图片的画图轨迹,依次提取画图轨迹中的各个节点,并根据提取到的节点,生成节点列表;所述画图轨迹为在验证图片中依次选取的图元所对应的节点所形成的轨迹;当生成的节点列表与所述参照图片中的节点列表相同时,表示验证码输入成功。

【技术特征摘要】
1.一种验证码的防刷方法,其特征在于,包括:在需要输入验证码的客户端界面上生成验证图片以及与所述验证图片相对应的参照图片,所述验证图片和所述参照图片分别包括多个节点以及与各个所述节点相对应的图元,所述验证图片的各个所述节点以及所述图元按照预先设定的布局格式进行布局,所述验证图片的各个图元均为动态图元;所述动态图元包括间隔预设时间各个图元之间相互变换;所述验证图片中各个节点变换前后可对应不同的坐标,当各个图元之间相互变换时,各个图元的对应的节点保持不变;根据所述参照图片上的各个图元的排列顺序,获取在所述验证图片的画图轨迹,依次提取画图轨迹中的各个节点,并根据提取到的节点,生成节点列表;所述画图轨迹为在验证图片中依次选取的图元所对应的节点所形成的轨迹;当生成的节点列表与所述参照图片中的节点列表相同时,表示验证码输入成功。2.根据权利要求1所述的一种验证码的防刷方法,其特征在于,所述间隔预设时间各个图元之间相互变换,包括:获取各个图元在布局格式中的节点和坐标值,根据预先设定的变换方式变换对应坐标上的图元,使得各个图元变换前后的节点不变。3.根据权利要求2所述的一种验证码的防刷方法,其特征在于,所述预先设定的变换方式,包括:将所述验证图片中的各个图元在坐标X轴上的值与Y轴上的值对调。4.根据权利要求2所述的一种验证码的防刷方法,其特征在于,所述预先设定的变换方式,包括:将Y轴上的值Yn相同的所有图元及节点对应的当前X轴上的值Xn根据预设公式得到新的X轴上的值X′n,所述新的X轴上的值X′n与所述Y轴上的...

【专利技术属性】
技术研发人员:王煜林王金恒程东年陈秋明
申请(专利权)人:广东技术师范学院天河学院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1