基于互联网图片搜索的Web验证码生成方法技术

技术编号:12023269 阅读:68 留言:0更新日期:2015-09-09 20:28
本发明专利技术公开了一种基于互联网图片搜索的Web验证码生成方法。该方法包括选取关键词、搜索并缓存图片、图片预处理、用户操作及验证等步骤。通过从词库中随机选取名词,利用搜索引擎得到与其对应的图片资源,从而生成一些名词与图片的对应关系,这些关系真实用户可以方便的识别而计算机程序却难以区分,进而可以规避一些恶意程序伪装成用户进行不合理操作的Web现象,提高网络的安全性和可靠性。本方法解决了现有验证码技术验证过程中用户体验不佳,验证码内容易被程序自动识别破解等技术问题。本发明专利技术具有验证码空间大、可靠性高、验证过程简单、用户识别快、用户体验好等优点。

【技术实现步骤摘要】
基于互联网图片搜索的Web验证码生成方法
本专利技术涉及基于互联网的的验证码生成方法,具体是一种基于互联网搜索获取验证图片资源的方法。
技术介绍
验证码的诞生是伴随着计算机安全技术和黑客技术的不断发展而出现的,为了防止恶意用户利用自动注册工具批量注册网站账号或重复提交表单消耗服务器资源而产生的一种网络验证技术,验证码从扭曲的文字符号到处理过的文字图片(黄赛平,许明。2009,验证码的识别与改进[J],南京师范大学学报(工程技术版),9(2):84-88),经历了从简单到复杂的过程,虽然在一定程度上提高了安全性,但同时也降低了用户的体验效果,扭曲的文字时常让用户难以辨认,让人不胜其烦。近年来图片验证码方法有了一些显著的提高,例如使用图片内容识别,而不再依赖单纯的文字识别,给出一张图片,让用户选出图片的内容(许明.验证码的识别与反识别[D].南京理工大学2007),这样的技术拥有较强的防御黑客攻击的能力,但图片的数量和来源限制了该方法的效果,实际的防御效果不尽如人意,所以图片技术在验证码识别
的一些应用方面还有待改善,实现效果还有待提高。
技术实现思路
本专利技术提供了一种基于互联网图片搜索的web验证码生成方法。利用关键词搜索图片,将图片处理后缓存生成数据库,再从数据库中选取图片验证码展示在客户端以供选择,计算机计算选择结果的准确率,判断验证是否成功,从而达到图片验证码实现整个验证过程的目的。本专利技术可以为很多需要验证操作的网站提供安全保障,防止有人利用机器人自动批量注册以及对特定的用户密码进行暴力破解的行为,有效避免对服务器的恶意攻击和一些垃圾信息的传播过程。实现本专利技术目的的技术解决方案为:建立一个动态的名词库,利用图片搜索引擎,建立和其对应的“名词-图片”数据库,为每个名词存储从互联网上搜索得到的随机的N张图片,随后从数据库中随机选取名词和需要的图片生成图片验证码,展示给客户端进行操作,根据操作反馈结果对该次操作行为进行评估以判断该操作是否是机器所为,从而达到检测该次操作是否机器恶意攻击行为的目的。主要包括以下步骤:1)建立一个名词库,由名词单词组成,如:海豚、公鸡。具体单词可以根据系统应用需要由其相应的语言组成。2)利用图片搜索引擎查找图片资源,如:http://image.baidu.com/、http://cn.bing.com/images,对名词库中的名词逐个进行搜索,每个名词在其对应的搜索结果图的前T(T>0)张(例如T=100)中随机选取N(0<N≤T)张(例如N=10),对这N张图片进行格式标准化处理,然后连同该名词一起存入数据库。如果该名词搜索出的结果个数小于T,则在名词库中换一个名词重新搜索,名词更换方式采取循环更换的方法。生成的数据库维护一个固定大小(数据库词条的个数要小于等于名词库中名词的个数,比如数据库有10000个名词条),数据库中每条数据的组成为名词单词和其对应的N张图片;3)生成图片验证码,从数据库中随机选取m(m>0,例如2)个名词,从这m个词中每个词所对应的缓存图片中选取p(例如1或2)张,这样可以得到m×p张图片,再从整个数据库中随机选择(n-m×p)张(假设要展示在客户端用以选择的图片总数需求为n),然后将这n张图片连同这m个名词一起展示在客户端;4)验证过程。采用评估算法评估客户端给出的反馈结果,与预定期望值进行比较,判断是否让此次验证过程成功通过,通过则完成整个验证过程,否则重复上一步;5)不管验证成功与否,当次使用过的词条都会在数据中删除,为了维护数据库的固定大小,在数据库空闲的时候,会对里面的词条进行更新,在上次数据库更新之后使用过的词条都会被删除,然后重新从词库中选取名词对数据库进行补充,直到数据库达到饱和。与现有技术相比,本专利技术的显著优点为:(1)验证码所使用的资源的无限的。图片来自浩瀚且不断更新的互联网资源,而不局限于一个图库,增大黑客破解难度。(2)使用互联网搜索引擎搜索图片,通过随机算法选择图片,不断更新和缓冲大量资源,使得验证码资源不断更新,增大了验证图片的随机性。(3)使用搜索引擎确定的图片和名词的对应关系验证用户,提高了用户识别的友好体验,同时降低了机器识别的能力。(4)计算准确率代替比较验证,在保证准确性的同时,适当的增加了一定的容错性,提高了用户体验。附图说明图1是本专利技术图片验证码生成流程示意图。图2是图片验证流程示意图。图3是图片搜索界面示意图。图4是图片验证界面示意图。具体实施方式本专利技术一种基于互联网图片搜索的web验证码的生成方法,该方法基于关键词词库和互联网资源生成web端的图片验证码,可以用于防止有人利用机器人自动批量注册以消耗服务器资源、对特定用户的登录密码进行暴力破解等一些危害用户和服务器的行为。下面结合实施例对本专利技术做进一步说明。1)建立一个名词库,由名词单词组成,如:电池、火车。具体单词所用语言可以根据系统应用需要由其相应的语言组成。2)在名词库中随机选取一个名词,使用图片搜索引擎对其进行搜索,比如选取“火车”,用搜索引擎http://cn.bing.com/images搜索得到的结果图如图3所示,此次试验中选取的变量T的值为50,由于搜索“火车”得到的图片数量大于等于50,所以继续操作。从得到的这50张图片中随机选取N张,此处的N值设置为10。对这最后确定的10张图片进行格式标准化处理,连同“火车”这个名词一起放入数据库中。3)重复上述步骤直至数据库达到饱和,仅作为实验用,数据库大小只有100个词条。词库中包括小鸡、狗、猫、猪、树、书本、笔、球、冰激凌、茶杯、电池、电脑、手机、火车、飞机、太阳、溪水等共200个名词,对这些名词进行逐个搜索,得到的结果组成词条大小为100的“名词-图片”数据库。4)从数据库中随机选取了2个名词,分别是“火车”和“电池”,从它们所对应的图片中选取p张图片,此次试验中的p采用的是从1和2两个数中随机得到的数,如图4所示,随机的结果是“火车”有两张图片,而“电池”只有一张图片。为了得到需要展示给客户端的共8张图片,再从数据库中随机选取了5(8-2-1)张图片,将这所有的共8张图片在客户端展示出来。5)对于客户端反馈回来的选择结果,用公式的值是否大于等于来对选择结果进行评判,其中x表示客户端选择出的正确的个数,y表示实际正确的个数,z表示客户端选择错误的个数,n表示展示出的总的图片数。例如:对于图4中的验证码,如果选择出了正确的两张火车和一张电池的图片,则公式中x=3,y=3,z=0,n=8,最后计算出的值为则此次验证通过;如果只选出了两张正确的图片,再选择了最后那张人物的图片,则公式中x=2,y=3,z=1,n=8,最后的计算结果为则此次验证不会通过,客户端会给出新的验证码要求重新验证。刚才使用过的两个词条“火车”和“电池”将会从数据库中删除,并且从词库中重新选取两个单词重复第二步补充进数据库中以维护数据库的固定大小。本文档来自技高网...
基于互联网图片搜索的Web验证码生成方法

【技术保护点】
一种基于互联网图片搜索的Web验证码生成方法,其特征在于,实现步骤包括:第一步,建立一个名词库,包含名词单词;第二步,对名词库中的名词逐个进行搜索,得到每个名词对应的搜索结果图,如果结果图的数量少于T,则在词库中重新选择单词进行搜索,如果结果图的数量大于等于T,则在每个名词其对应的搜索结果图的前T张图片中随机选取N张,将名词和其对应的N张图片存入数据库中;第三步,从数据库中随机选取m个名词,从每个名词所对应的图片中选取p张,得到m×p张图片,再从整个数据库中随机选择(n‑m×p)张,n为需要在客户端显示出的图片总数,将这n张图片连同选取出的m个名词在客户端显示出来。

【技术特征摘要】
1.一种基于互联网图片搜索的Web验证码生成方法,其特征在于,实现步骤包括:第一步,建立一个名词库,包含名词单词;第二步,对名词库中的名词逐个进行搜索,得到每个名词对应的搜索结果图,如果结果图的数量少于T,则在词库中重新选择单词进行搜索,如果结果图的数量大于等于T,则在每个名词其对应的搜索结果图的前T张图片中随机选取N张,将名词和其对应的N张图片存入数据库中;第三步,从数据库中随机选取m个名词,从每个名词所对应的图片中选取p张,得到m×p张图片,再从整个数据库中随机选择(n-m×p)张,n为需要在客户端显示出的图片总数,将这n张图片连同选取出的m个名词在客户端显示出来;每次完成验证之后删除当次使用的m个词条和其相关图片,返回步骤二。2.根据权利要求1中所述的基于互联网图片搜索的Web验证码生成方法,其特征在于:步骤二中所述在每个名词其对应的搜索结果图的前T张图片中随机选取N张后,对这N张图片进行格式的标准化处理,得到...

【专利技术属性】
技术研发人员:魏松杰周紫阳崔聪杨铃陈秋冰吴高翔
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

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

1