CN107908946A - 图片验证码生成方法、图片验证码、验证方法及装置 - Google Patents
图片验证码生成方法、图片验证码、验证方法及装置 Download PDFInfo
- Publication number
- CN107908946A CN107908946A CN201711022503.9A CN201711022503A CN107908946A CN 107908946 A CN107908946 A CN 107908946A CN 201711022503 A CN201711022503 A CN 201711022503A CN 107908946 A CN107908946 A CN 107908946A
- Authority
- CN
- China
- Prior art keywords
- word
- picture
- coordinate
- validation code
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Abstract
本发明实施例公开一种图片验证码生成方法、图片验证码、验证方法及装置,其中,图片验证码生成方法包括:创建图片验证码的背景图片;从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;在已写入文字的背景图片中添加干扰因素;为添加完干扰因素的背景图片中的文字添加边框。本发明实施例能够实现生成顺序点击型图片验证码,可以在后续利用该图片验证码进行验证时大大增加图片验证码的破解难度,提高网络安全性。
Description
技术领域
本发明实施例涉及互联网安全技术领域,具体涉及一种图片验证码生成方法、图片验证码、验证方法及装置。
背景技术
随着现在移动互联网的快速发展,使得智能手机得到了快速普及。而与此同时有人就会利用机器人或者脚本程序,对某些应用程序进行自动批量注册、或者对注册用户用暴力破解的方式进行不断的登陆或灌水。这时就必须有一种方式及时阻止这种恶意攻击,其中添加验证码功能就是用来防止这些恶意程序不停地在网站上进行注册、登陆以及读写数据库的操作。现有的验证码类型包括对字母或数字进行识别、数字的加减运算以及近两年刚刚兴起的,手动拖拉型验证码。
现在网站中使用的验证码,大都是字母或数字识别填写型。即根据验证码图片上展示的字母或数字,在文本框中进行填写,然后提交到后台进行校验。对于这种类型的验证码,存在很多的漏洞及风险。首先验证码内容的最终结果就是简单的字母或数字,那么程序就完全可以进行穷举校验,也就是说如果不怕被封号的话,完全可以通过暴力破解的手段来成功验证;此外如果服务器本身接收大量校验请求时,就会大量消耗服务器的系统资源,降低网站性能甚至使网站崩溃。
鉴于此,如何生成图片验证码,以使利用所述图片验证码进行验证时能够增加图片验证码的破解难度,提高网络安全性成为目前需要解决的技术问题。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种图片验证码生成方法、图片验证码、验证方法及装置。
第一方面,本发明实施例提出一种图片验证码生成方法,包括:
创建图片验证码的背景图片;
从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;
在已写入文字的背景图片中添加干扰因素;
为添加完干扰因素的背景图片中的文字添加边框。
可选地,所述创建图片验证码的背景图片,包括:
创建一个画布,将所述画布随机填充颜色后作为图片验证码的背景图片。
可选地,所述在已写入文字的背景图片中添加干扰因素,包括:
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
第二方面,本发明实施例还提出一种图片验证码生成装置,包括:
创建模块,用于创建图片验证码的背景图片;
写入模块,用于从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标保存到缓存中,所述词库包括:专有名词和/或成语;
第一添加模块,用于在已写入文字的背景图片中添加干扰因素;
第二添加模块,用于为添加完干扰因素的背景图片中的文字添加边框。
可选地,所述第一添加模块,具体用于
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
第三方面,本发明实施例还提出一种图片验证码,所述图片验证码是利用上述图片验证码生成方法而生成。
第四方面,本发明实施例还提出一种图片验证码的验证方法,用于对上述图片验证码进行验证,包括:
将上述图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;
判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;
若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过,否则验证不通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
可选地,所述方法还包括:
若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
第五方面,本发明实施例还提出一种图片验证码的验证装置,用于对上述图片验证码进行验证,其特征在于,包括:
传输模块,用于将上述图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;
第一判断模块,用于判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;
第二判断模块,用于若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
可选地,所述装置还包括:
暂停模块,用于若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
由上述技术方案可知,本发明实施例通过创建图片验证码的背景图片;从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;在已写入文字的背景图片中添加干扰因素;为添加完干扰因素的背景图片中的文字添加边框,由此,能够实现生成顺序点击型图片验证码,可以在后续利用该图片验证码进行验证时大大增加了图片验证码的破解难度,提高网络安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种图片验证码生成方法的流程示意图;
图2为本发明一实施例提供的一种图片验证码生成装置的结构示意图;
图3为本发明一实施例提供的一种图片验证码的验证方法的流程示意图;
图4为本发明一实施例提供的一种图片验证码的验证装置的结构示意图;
图5为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本发明一实施例提供的一种图片验证码生成方法的流程示意图,如图1所示,本实施例的图片验证码生成方法,包括:
S101、创建图片验证码的背景图片。
具体地,本实施例可以通过创建一个画布,将所述画布随机填充颜色后作为图片验证码的背景图片。
S102、从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语。
在具体应用中,本实施例可以利用imagettftext函数,将打乱所选取的词语的顺序后所得到的文字写入所述背景图片中。
其中,每个文字的坐标可以包括:左下、左上、右上和右下的x、y轴坐标的值。
需要说明的是,本步骤将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,是为了后续进行对本实施例生成的图片验证码进行验证时使用。
S103、在已写入文字的背景图片中添加干扰因素。
S104、为添加完干扰因素的背景图片中的文字添加边框。
本实施例在生成图片验证码的过程中利用了预先建立的包括专有名词和/或成语的词库,本实施例生成的图片验证码与现有图片验证码相比优势在于,不是根据图片展示来填写出现的字母或数字,而是将一些专有名词或者成语打乱顺序,展示到图片验证码上,以使用户在验证时能够按照这些专有名词或者成语的正常顺序进行点击校验。例如,“满五唯一”这样的专有名词会被打乱顺序为“五满一唯”显示到验证码上,用户在验证时需按照名词的正常格式来点击并进行验证,增加了图片验证码的破解难度。
本实施例的图片验证码生成方法,通过创建图片验证码的背景图片;从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;在已写入文字的背景图片中添加干扰因素;为添加完干扰因素的背景图片中的文字添加边框,由此,能够实现生成顺序点击型图片验证码,可以在后续利用该图片验证码进行验证时大大增加了图片验证码的破解难度,提高网络安全性。
进一步地,在上述方法实施例的基础上,上述步骤S103可以包括:
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
可以理解的是,将写入背景图片中的文字进行扭曲或旋转,和/或,在已写入文字的背景图片中随机添加干扰点,和/或,在已写入文字的背景图片中随机添加干扰的横线,均是为了增加恶意程序对图片验证码进行识别的难度。
可以理解的是,将写入背景图片中的文字进行扭曲或旋转,还能够使后续验证识别的准确性也大大提高。
本发明实施例提供的图片验证码生成方法,能够实现生成顺序点击型图片验证码,可以在后续利用该图片验证码进行验证时大大增加了图片验证码的破解难度,提高网络安全性。
图2示出了本发明一实施例提供的一种图片验证码生成装置的结构示意图,如图2所示,本实施例的图片验证码生成装置,包括:创建模块21、写入模块22、第一添加模块23和第二添加模块24;其中:
所述创建模块21,用于创建图片验证码的背景图片;
所述写入模块22,用于从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标保存到缓存中,所述词库包括:专有名词和/或成语;
所述第一添加模块23,用于在已写入文字的背景图片中添加干扰因素;
所述第二添加模块24,用于为添加完干扰因素的背景图片中的文字添加边框。
具体地,所述创建模块21创建图片验证码的背景图片;所述写入模块22从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标保存到缓存中,所述词库包括:专有名词和/或成语;所述第一添加模块23在已写入文字的背景图片中添加干扰因素;所述第二添加模块为添加完干扰因素的背景图片中的文字添加边框。
在具体应用中,所述创建模块21可以通过创建一个画布,将所述画布随机填充颜色后作为图片验证码的背景图片。
在具体应用中,所述写入模块22可以利用imagettftext函数,将打乱所选取的词语的顺序后所得到的文字写入所述背景图片中。
需要说明的是,所述写入模块22将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,是为了后续进行对本实施例生成的图片验证码进行验证时使用。其中,每个文字的坐标可以包括:左下、左上、右上和右下的x、y轴坐标的值。
在具体应用中,所述第一添加模块23可以具体用于
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
可以理解的是,所述第一添加模块23将写入背景图片中的文字进行扭曲或旋转,和/或,在已写入文字的背景图片中随机添加干扰点,和/或,在已写入文字的背景图片中随机添加干扰的横线,均是为了增加恶意程序对图片验证码进行识别的难度。
可以理解的是,所述第一添加模块23将写入背景图片中的文字进行扭曲或旋转,还能够使后续验证识别的准确性也大大提高。
本实施例的图片验证码生成装置在生成图片验证码的过程中利用了预先建立的包括专有名词和/或成语的词库,本实施例所述装置生成的图片验证码与现有图片验证码相比优势在于,不是根据图片展示来填写出现的字母或数字,而是将一些专有名词或者成语打乱顺序,展示到图片验证码上,以使用户在验证时能够按照这些专有名词或者成语的正常顺序进行点击校验。例如,“满五唯一”这样的专有名词会被打乱顺序为“五满一唯”显示到验证码上,用户在验证时需按照名词的正常格式来点击并进行验证,增加了图片验证码的破解难度。
本实施例的图片验证码生成装置,可以用于执行前述图1所示方法实施例所述的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例提供的图片验证码生成装置,能够实现生成顺序点击型图片验证码,可以在后续利用该图片验证码进行验证时大大增加了图片验证码的破解难度,提高网络安全性。
本发明实施例还提供的一种图片验证码,所述图片验证码是利用前述图1所示的图片验证码生成方法而生成。
可以理解的是,本图片验证码是一种顺序点击型图片验证码。
利用本发明实施例的图片验证码进行验证时,能够大大增加图片验证码的破解难度,提高网络安全性。
图3示出了本发明一实施例提供的一种图片验证码的验证方法的流程示意图,所述验证方法用于对上述图片验证码进行验证,如图3所示,本实施例的图片验证码的验证方法,包括:
S301、将图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标(x、y轴坐标的值)。
需要说明的是,本实施例中的图片验证码是上述图1所示方法实施例所述方法所生成的图片验证码,该图片验证码是一种顺序点击型图片验证码。
S302、判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内。
在具体应用中,可以假设在缓存中存储的文字的坐标所形成的矩形框的四个顶点分别为P1、P2、P3和P4,判断某一坐标点P是否在所述矩形框内,只需要判断:
|P2P|×|P1P2|×|P3P|×|P3P4|≤0并且|P1P|×|P1P4|×|P2P|×|P2P3|≤0,
即只要判断P点的横坐标和纵坐标是否夹在矩形的左右边和上下边之间。
S303、若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过,否则验证不通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
可以理解的是,上述图1所示方法实施例所述方法生成图片验证码的过程中利用了预先建立的包括专有名词和/或成语的词库,是将一些专有名词或者成语打乱顺序,展示到图片验证码上,因此利用本实施例所述方法对图片验证码进行验证时,能够使用户在验证时按照这些专有名词或者成语的正常顺序进行点击校验。例如,“满五唯一”这样的专有名词会被打乱顺序为“五满一唯”显示到验证码上,用户在验证时需按照名词的正常格式来点击并进行验证,增加了图片验证码的破解难度。
本发明实施例提供的图片验证码的验证方法,大大增加了图片验证码的破解难度,提高网络安全性。
进一步地,在上述方法实施例的基础上,本实施例所述方法还可以包括图中未示出的步骤S304:
S304、若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
在具体应用中,举例来说,所述预设次数可以为5次,本实施例并不对其进行限制,可以根据实际情况进行具体设置。
在具体应用中,举例来说,所述预设时间段可以为10分钟,本实施例并不对其进行限制,可以根据实际情况进行具体设置。
本实施例通过对输入错误的次数(即客户端所返回的文字的坐标验证不通过的次数)做了限制,这样能够大大降低程序暴力破解的风险。
图4示出了本发明一实施例提供的一种图片验证码的验证装置的结构示意图,本实施例所述装置用于对上述图片验证码进行验证,如图4所示,本实施例的图片验证码的验证装置,包括:传输模块41、第一判断模块42和第二判断模块43;其中:
所述传输模块41,用于将权利要求6所述的图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;
所述第一判断模块42,用于判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;
所述第二判断模块43,用于若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
具体地,所述传输模块41将权利要求6所述的图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;所述第一判断模块42判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;所述第二判断模块43若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过。
在具体应用中,可以假设在缓存中存储的文字的坐标所形成的矩形框的四个顶点分别为P1、P2、P3和P4,所述第一判断模块42在判断某一坐标点P是否在所述矩形框内,只需要判断P点的横坐标和纵坐标是否夹在矩形的左右边和上下边之间。
需要说明的是,本实施例中的图片验证码是上述图1所示方法实施例所述方法所生成的图片验证码,该图片验证码是一种顺序点击型图片验证码。
可以理解的是,上述图1所示方法实施例所述方法生成图片验证码的过程中利用了预先建立的包括专有名词和/或成语的词库,是将一些专有名词或者成语打乱顺序,展示到图片验证码上,因此利用本实施例所述装置对图片验证码进行验证时,能够使用户在验证时按照这些专有名词或者成语的正常顺序进行点击校验。例如,“满五唯一”这样的专有名词会被打乱顺序为“五满一唯”显示到验证码上,用户在验证时需按照名词的正常格式来点击并进行验证,增加了图片验证码的破解难度。
本发明实施例提供的图片验证码的验证装置,大大增加了图片验证码的破解难度,提高网络安全性。
进一步地,在上述方法实施例的基础上,本实施例所述装置还可以包括图中未示出的:
暂停模块,用于若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
在具体应用中,举例来说,所述预设次数可以为5次,本实施例并不对其进行限制,可以根据实际情况进行具体设置。
在具体应用中,举例来说,所述预设时间段可以为10分钟,本实施例并不对其进行限制,可以根据实际情况进行具体设置。
本实施例的图片验证码的验证装置,通过对输入错误的次数(即客户端所返回的文字的坐标验证不通过的次数)做了限制,这样能够大大降低程序暴力破解的风险。
图5示出了本发明实施例提供的一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器51、存储器52、总线53及存储在存储器52上并可在处理器51上运行的计算机程序;
其中,所述处理器51,存储器52通过所述总线53完成相互间的通信;
所述处理器51执行所述计算机程序时实现上述各方法实施例所提供的方法,例如包括:创建图片验证码的背景图片;从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;在已写入文字的背景图片中添加干扰因素;为添加完干扰因素的背景图片中的文字添加边框。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例所提供的方法,例如包括:创建图片验证码的背景图片;从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;在已写入文字的背景图片中添加干扰因素;为添加完干扰因素的背景图片中的文字添加边框。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置/系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种图片验证码生成方法,其特征在于,包括:
创建图片验证码的背景图片;
从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标存储到缓存中,所述词库包括:专有名词和/或成语;
在已写入文字的背景图片中添加干扰因素;
为添加完干扰因素的背景图片中的文字添加边框。
2.根据权利要求1所述的方法,其特征在于,所述创建图片验证码的背景图片,包括:
创建一个画布,将所述画布随机填充颜色后作为图片验证码的背景图片。
3.根据权利要求1所述的方法,其特征在于,所述在已写入文字的背景图片中添加干扰因素,包括:
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
4.一种图片验证码生成装置,其特征在于,包括:
创建模块,用于创建图片验证码的背景图片;
写入模块,用于从预先建立的词库中随机选取一个词语,打乱所选取的词语的顺序,将得到的文字写入所述背景图片中,同时将所选取的词语的正常顺序情况下文字的坐标保存到缓存中,所述词库包括:专有名词和/或成语;
第一添加模块,用于在已写入文字的背景图片中添加干扰因素;
第二添加模块,用于为添加完干扰因素的背景图片中的文字添加边框。
5.根据权利要求4所述的图片验证码生成装置,其特征在于,所述第一添加模块,具体用于
将写入背景图片中的文字进行扭曲或旋转;
和/或,
在已写入文字的背景图片中随机添加干扰点;
和/或,
在已写入文字的背景图片中随机添加干扰的横线。
6.一种图片验证码,其特征在于,所述图片验证码是利用权利要求1-3中任一项所述的图片验证码生成方法而生成。
7.一种图片验证码的验证方法,用于对权利要求6所述的图片验证码进行验证,其特征在于,包括:
将权利要求6所述的图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;
判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;
若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过,否则验证不通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
9.一种图片验证码的验证装置,用于对权利要求6所述的图片验证码进行验证,其特征在于,包括:
传输模块,用于将权利要求6所述的图片验证码发送给客户端,接收所述客户端返回的用户基于所述图片验证码按顺序点击所述图片验证码中的文字的坐标;
第一判断模块,用于判断所述客户端返回的文字的坐标是否均在缓存中存储的文字的坐标所形成的矩形框内;
第二判断模块,用于若所述客户端返回的坐标均在缓存中存储的文字的坐标所形成的矩形框内,则判断所述客户端返回的文字的坐标所对应文字的顺序与缓存中存储的文字的坐标所对应文字的顺序是否相同,若相同,则验证通过;
其中,所述缓存中存储的文字的坐标为所述图片验证码中已写入的文字被打乱顺序前所对应的词语的正常顺序情况下文字的坐标,每个文字的坐标包括:左下、左上、右上和右下的x、y轴坐标的值。
10.根据权利要求9所述的验证装置,其特征在于,所述装置还包括:
暂停模块,用于若某一客户端所返回的文字的坐标验证不通过的次数大于等于预设次数,则对该客户端在预设时间段内暂停验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711022503.9A CN107908946A (zh) | 2017-10-27 | 2017-10-27 | 图片验证码生成方法、图片验证码、验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711022503.9A CN107908946A (zh) | 2017-10-27 | 2017-10-27 | 图片验证码生成方法、图片验证码、验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908946A true CN107908946A (zh) | 2018-04-13 |
Family
ID=61841974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711022503.9A Pending CN107908946A (zh) | 2017-10-27 | 2017-10-27 | 图片验证码生成方法、图片验证码、验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908946A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257168A (zh) * | 2018-09-21 | 2019-01-22 | 深圳市元征科技股份有限公司 | 一种图片验证码的生成方法、装置、设备及介质 |
CN109523611A (zh) * | 2018-11-28 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 验证码图片生成方法和装置 |
CN109685605A (zh) * | 2018-11-30 | 2019-04-26 | 泰康保险集团股份有限公司 | 用于电子条款的确认方法、装置、电子设备及存储介质 |
CN109740323A (zh) * | 2018-10-26 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 验证码验证方法、装置、存储介质和计算机设备 |
CN110399894A (zh) * | 2018-04-25 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 用于匹配图片中实体的方法和装置 |
CN111259367A (zh) * | 2020-03-11 | 2020-06-09 | 北京弘远博学科技有限公司 | 基于登录古诗词验证码的生成方法 |
CN112231676A (zh) * | 2020-10-09 | 2021-01-15 | 中国银联股份有限公司 | 图形验证码生成、显示、验证方法、装置、设备及存储介质 |
CN112836196A (zh) * | 2021-02-25 | 2021-05-25 | 北京顶象技术有限公司 | 验证码生成方法、装置及计算机设备 |
CN114465762A (zh) * | 2021-12-24 | 2022-05-10 | 安徽航天信息有限公司 | 一种基于语境的验证码生成方法、装置及存储介质 |
CN114494474A (zh) * | 2022-01-17 | 2022-05-13 | 广东石油化工学院 | 人与合法设备通用验证码的生成方法、验证方法及装置 |
CN114490963A (zh) * | 2021-12-17 | 2022-05-13 | 中国人民解放军空军军医大学 | 一种全媒体出版系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251918A (zh) * | 2007-12-20 | 2008-08-27 | 北京爱笛星科技有限公司 | 广告内容生成验证信息系统及其方法 |
CN103139204A (zh) * | 2012-12-19 | 2013-06-05 | 姚爱军 | 一种网络验证码的方法及系统 |
CN104038502A (zh) * | 2014-06-24 | 2014-09-10 | 五八同城信息技术有限公司 | 一种验证方法及系统 |
CN104852885A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 一种进行验证码验证的方法、装置和系统 |
-
2017
- 2017-10-27 CN CN201711022503.9A patent/CN107908946A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251918A (zh) * | 2007-12-20 | 2008-08-27 | 北京爱笛星科技有限公司 | 广告内容生成验证信息系统及其方法 |
CN103139204A (zh) * | 2012-12-19 | 2013-06-05 | 姚爱军 | 一种网络验证码的方法及系统 |
CN104852885A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 一种进行验证码验证的方法、装置和系统 |
CN104038502A (zh) * | 2014-06-24 | 2014-09-10 | 五八同城信息技术有限公司 | 一种验证方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399894A (zh) * | 2018-04-25 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 用于匹配图片中实体的方法和装置 |
CN109257168A (zh) * | 2018-09-21 | 2019-01-22 | 深圳市元征科技股份有限公司 | 一种图片验证码的生成方法、装置、设备及介质 |
CN109740323A (zh) * | 2018-10-26 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 验证码验证方法、装置、存储介质和计算机设备 |
CN109523611A (zh) * | 2018-11-28 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 验证码图片生成方法和装置 |
CN109523611B (zh) * | 2018-11-28 | 2023-05-09 | 百度在线网络技术(北京)有限公司 | 验证码图片生成方法和装置 |
CN109685605B (zh) * | 2018-11-30 | 2021-09-21 | 泰康保险集团股份有限公司 | 用于电子条款的确认方法、装置、电子设备及存储介质 |
CN109685605A (zh) * | 2018-11-30 | 2019-04-26 | 泰康保险集团股份有限公司 | 用于电子条款的确认方法、装置、电子设备及存储介质 |
CN111259367A (zh) * | 2020-03-11 | 2020-06-09 | 北京弘远博学科技有限公司 | 基于登录古诗词验证码的生成方法 |
CN112231676A (zh) * | 2020-10-09 | 2021-01-15 | 中国银联股份有限公司 | 图形验证码生成、显示、验证方法、装置、设备及存储介质 |
CN112836196A (zh) * | 2021-02-25 | 2021-05-25 | 北京顶象技术有限公司 | 验证码生成方法、装置及计算机设备 |
CN114490963A (zh) * | 2021-12-17 | 2022-05-13 | 中国人民解放军空军军医大学 | 一种全媒体出版系统 |
CN114490963B (zh) * | 2021-12-17 | 2023-11-24 | 中国人民解放军空军军医大学 | 一种全媒体出版系统 |
CN114465762A (zh) * | 2021-12-24 | 2022-05-10 | 安徽航天信息有限公司 | 一种基于语境的验证码生成方法、装置及存储介质 |
CN114494474A (zh) * | 2022-01-17 | 2022-05-13 | 广东石油化工学院 | 人与合法设备通用验证码的生成方法、验证方法及装置 |
CN114494474B (zh) * | 2022-01-17 | 2022-09-20 | 广东石油化工学院 | 人与合法设备通用验证码的生成方法、验证方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908946A (zh) | 图片验证码生成方法、图片验证码、验证方法及装置 | |
US10158627B2 (en) | Location determination for user authentication | |
CN102932332B (zh) | 数据校验系统和数据校验方法 | |
CN103607427B (zh) | 信息展示方法和装置 | |
JP6533871B2 (ja) | ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法 | |
CN102724186B (zh) | 一种钓鱼网站检测系统和检测方法 | |
US20160292411A1 (en) | Verification method, apparatus and system | |
CN104798094B (zh) | 确定内容项目显示环境的配置 | |
CN104852889A (zh) | 图片验证码生成方法和系统、验证方法和客户端及服务器 | |
US20180176161A1 (en) | Method for tracking and routing financial messages for mobile devices | |
CN107026832A (zh) | 账户登录方法、设备和服务器 | |
CN105975526A (zh) | 一种url链接有效性的验证方法 | |
CN109902471A (zh) | 滑块验证的检测方法、装置、计算机设备及存储介质 | |
CN106503111A (zh) | 网页转码方法、装置及客户终端 | |
CN104836777B (zh) | 身份验证方法和系统 | |
CN112711640A (zh) | 一种业务受理流程配置的方法及装置 | |
CN104750805B (zh) | 一种信息处理方法及电子设备 | |
CN110472386A (zh) | 动态验证方法、装置、计算机设备及存储介质 | |
TW201926153A (zh) | 驗證問卷的產生方法和裝置 | |
CN103379022B (zh) | 一种基于互联网地图搜索的即时通讯方法和系统 | |
CN105392051A (zh) | 一种视频请求处理方法及装置 | |
US9210147B1 (en) | Method, apparatus and computer program product for assessing risk associated with authentication requests | |
CN106709315A (zh) | 一种应用系统的登录信息验证方法和装置 | |
CN105530260B (zh) | 一种用于网站的安全性标识信息的设置方法和装置 | |
CN110177096A (zh) | 客户端认证方法、装置、介质和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |