一种基于图像内容的验证码的制作方法

文档序号:6485544阅读:123来源:国知局
一种基于图像内容的验证码的制作方法
【专利摘要】本发明公开了一种基于图像内容的验证码,包含验证码模块,业务逻辑模块,数据库等。本发明通过系统按照选取规则选取图像,并基于图像对象的内容选取基于图像内容语义的验证问题,在用户访问端显示验证问题,要求用户回答验证问题作为验证码,用户阅读图像和验证问题,填写验证码,系统比对用户填写的验证答案与对应选择图像的验证问题对应的答案,如一致则认为用户验证码正确。通过基于图像的语义生成验证问题和对应的作为答案的验证码,提高了验证码系统的安全性,有效地防止了机器程序的自动识别。
【专利说明】—种基于图像内容的验证码
【技术领域】
[0001]本发明涉及系统软件,互联网【技术领域】,特别是指一种基于图像内容的验证码。
【背景技术】
[0002]随着互联网技术,特别是软件技术的发展,为基于一种基于图像内容的验证码提供了可行性。
[0003]目前在系统登录界面,为了防止自动机器程序的自动登录,系统在登录界面提供了验证码系统进行防备,传统的验证码方式为加扰的文本图片方式,随着图片识别技术的发展,纯粹的文字图片验证码已经能被机器识读和破解,安全性有待提高,而复杂的加扰验证码图像让用户很难识读,经常需要多次尝试才能正确输入验证码,用户体验糟糕。
[0004]将验证码与图形的语义进行关联,系统按一定规则选取图像并基于图像生成验证码问题,并将验证码作为图像内容语义的回答,通过用户识读图像并基于图像内容的理解,回答验证码问题,基于机器的识读程序很难基于随机的图像上的语义得到验证码,从而避免了传统验证码文字图像识别的弊端,同时,清晰的图像不需要进行文字的加扰,有助于用户的阅读和选取,一方面提高了验证码的安全性,另一方面,方便了用户的识读和输入。
[0005]有鉴于此,本发明的目的在于提出一种基于图像内容的验证码系统。

【发明内容】

[0006]从上面所述可以看出,本发明通过用户访问系统,系统生成和维护用户会话,系统按照选取规则选取图像,并基于图像对象的内容选取基于图像内容语义的验证问题,在用户访问端显示验证问题,要求用户回答验证问题作为验证码,用户阅读图像和验证问题,填写验证码,系统判断用户填写的验证答案与对应选择图像的验证问题对应的答案,如一致则通过用户本次的验证。
[0007]进一步的,通过所提供的一种基于图像内容的验证码为一种系统验证业务的发展提供有力保障,满足用户各方要求,提升用户友好体验。
[0008]为实现上述目的,本发明的一个方面提供了一种基于图像内容的验证码,该方法包括:
用户访问系统,系统生成和维护一个用户会话,系统在选择图像和验证问题,验证答案后,验证码数据保存在系统端,并与用户的访问会话进行关联,用户在输入和提交验证码后,系统将用户提交的验证码与会话对应的验证问题的答案进行比对,如一致则认为本次验证正确。
[0009]本发明提供的一种基于图像内容的验证码的一个实施例中,该方法还包括:
系统获取用户访问信息,包含用户信息,访问IP地址,访问时间,访问终端类型等等各种包含在访问请求消息中的用户访问信息,系统根据用户访问信息进行计算和选择图像文件,进一步,基于选取的图像指定验证问题。
[0010]系统在选取图像文件后,根据选取的图像对应的内容属性,选择基于该图像内容语义的验证问题,一个图像对应多个基于该图像的多个验证问题和对应验证问题的答案,保存在数据存储系统中,如数据库或数据文件等,图像文件与验证问题为一对多的映射关系O
[0011]本发明提供的一种基于图像内容的验证码的一个实施例中,该方法还包括: 系统在选择图像以及对应的验证问题后,指示用户访问端显示对应的图像和验证问
题,用户阅读到图像和验证问题后,用户基于对图像的理解回答系统要求的验证问题,系统将用户的回答作为验证码进行验证。
[0012]用户填写验证码后,系统获取用户的回答,比较对应图像对应的验证问题的答案,判断用户的回答是否正确,如正确则认为用户本次的验证码正确。
[0013]本发明提供的一种基于图像内容的验证码的一个实施例中,该方法还包括: 系统获取用户的各种访问信息后,包含用户访问IP地址,时间戳,访问终端类型,如浏
览器类型,将这些信息进行函数运算映射到对应的数据记录,以此抽取和选定对应的图像,如通过散列运算等映射函数,计算用户访问信息对应的数据记录,如用户访问地址在中国,时间为白天十二点,根据用户访问地址和访问时间,产生一个数据库数据记录范围内的随机数,根据这个随机数指·定对应的图像以及验证码问题。
[0014]本发明提供的一种基于图像内容的验证码的一个实施例中,该方法还包括: 图像和验证问题和对应的答案保存在数据存储系统中,数据系统包含数据库系统方
式,文件系统方式,图像与验证码问题之间为一对一或一对多的映射关系,验证问题与验证答案为一一对应的关系,通过关系数据库方式或文件方式,如XML描述的方式进行数据记录的保存和映射。
[0015]具体来说具有以下优点:
图像清晰:
系统在提供验证码时,无需对图像进行加扰,以清晰的方式展现给用户,用户易于识读,避免了传统的验证码文本图像的复杂加扰对用户识读造成的影响。
[0016]安全性高:
机器可能识读到图像中包含的文字,但是无法获知其中通过图像内容语义衍生的验证码答案,只有通过用户对图像的理解回答验证码问题,在保证用户清晰识读的前提下,提高了验证码的安全性,有效地抵御了机器识读。
[0017]
【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明系统模块结构的示意图。
[0019]图2为本发明业务流程示意图。
[0020]图3为本发明图像与作为验证码的答案的关联示意图。
[0021]图4为本发明图像及验证问题生成流程示意图。
[0022]【具体实施方式】
[0023]下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。
[0024]为实现上述目的,提出了一种基于图像内容的验证码。
[0025]以下通过结合附图,对本发明的实施方式进行描述。
[0026]实现一种基于图像内容的验证码的关键点如下:
图像及验证问题:
系统基于各种图像,基于图像的内容包含的语义,提取各种基于图像内容语义的属性,并生成各种验证问题,通过文件方式和数据库方式保存在系统,并维护图像和验证问题的之间的关联关系。
[0027]数据选择算法:
数据选择为系统抽取数据库中图像和对应图像验证码的算法,系统将用户信息,包含在消息中的用户访问地址,用户访问终端特征,如浏览器类型,访问时间,作为参与选择算法的运算因子,算法可以选择各种映射函数,如散列哈希算法,以及各种自定义数据映射函数,如根据计算结果截取散列码中的字位,或使用自定义的映射函数,如用户访问地址在中国,时间为白天十二点,则提取中国区域对应的数据,再根据访问时间,随机产生一个随机数,根据这个随机数指定对应的包含验证码图像,以此抽取和对应图像和验证码问题。
[0028]例如,可以根据访问IP地址,如10.6.192.108,选择一个算法,算法预先以函数等方式保存在系统,并提供多种计算方式,并不作为一个固定的方式,系统可以根据需要随时扩展算法,如根据访问地址、时间戳等参数选取一个算法,如IP地址在上海市,则选择字符串串联的方式,将IP转换为一个整数106192108,再将访问时间戳进行处理,如201203101520,代表2012年03月10日15时20分为转换的数字,将IP转换的整数与时间戳转换的整数进行运算,如相加后作为随机数发生的种子,产生一个数据库地址范围内的随机数,作为映射数据库验证码容器内容的选取指示地址。
[0029]或简单地采取与时间戳相关的随机数,获取数据库记录中的验证码图像。
[0030]验证码与答案:
系统选取的产生验证码的图像作为验证码的数据来源,根据选取的图像,按照指定的计算算法,如随机数生成算法,如与时间戳相关的随机数,产生一个验证码问题数据容量范围内的一个随机数,以指定对应的验证码问题。
[0031]验证问题的算法如同图像的选择算法一样,根据需要,系统可进行配置和指定,以满足不同场景下的选取策略。
[0032]验证码验证:
系统在指定图像和验证问题后,系统关联本次用户会话选取的图像以及对应验证码问题以及对应的答案,用户在输入和提交验证码后,系统将用户提交的验证码与系统保存的进行比对,如一致则认为本次验证正确。
[0033]举例来说,系统抽取到一个包含时钟的图像,验证问题包含诸如时钟上是几点,以及时钟摆放的位置等问题,用户需观看到图像后才可回答出对应的问题,系统在获取用户的回答后与系统端的答案进行匹配,如一致则认为本次验证正确。
[0034]主要功能模块
如图1所示,一种基于图像内容的验证码的系统结构主要包括:用户侧:
界面容器100:
承载用户访问系统的页面容器,包含页面内容,脚本程序,验证码数据容器的图像内容显示和提交等各种页面组成部分。
[0035]验证码数据请求脚本101:
包含在页面容器内的验证码请求脚本,与系统进行交互,请求系统端获取图像和验证问题等数据,并将请求结果动态呈现在页面上。
[0036]验证码表单102: 用户登录页面上显示验证码问题以及用户填写验证码答案的部分,通过表单提交验证码答案数据。
[0037]图像显示模块103:
在系统选取图像和验证问题后,系统推送图像和验证码问题到用户端,用户端显示系统推送的图像以及对应的验证问题,指示用户进行回答。
[0038]登录界面104:
用户访问系统的整体界面,用户通过人机界面填写和提交各种数据与系统进行交互。
[0039]传输通道105:
提供数据传输的物理通道,可以是无线宽带网和移动数据网络,包含各个移动通信的数据信道,WIFI,固定宽带等。
[0040]系统侧:
系统接口模块106:
提供终端访问系统的数据和服务协议和接口,通常为HTTP协议方式进行数据的传输和消息的响应。
[0041]数据库107:
包含用户数据和业务数据的数据管理容器,管理用户各种属性数据,包含用户名,密码,权限等用户数据,以及图像,验证问题等业务数据并提供各种数据库的基础功能。
[0042]验证问题抽取模块108:
根据系统的验证问题选择算法,选择指定图像对应的验证问题以及问题对应的答案。
[0043]图像选取模块109:
根据系统的图像选择算法,选择指定系统保存的作为验证数据源的图像。
[0044]验证码逻辑模块110:
验证码逻辑模块负责验证码的运行逻辑流程,控制图像和验证问题的选择算法,根据用户的访问信息指示图像选取模块,验证问题选取模块选择不同的图像和验证问题,与系统内的各个功能模块进行交互,完成各种业务功能。
[0045]验证码验证模块111:
在用户输入和提交验证问题的回答后,系统将用户提交的验证数据以及系统内保存的验证数据进行比对,判断用户的输入验证回答是否正确。
[0046]会话模块112:
用户在请求访问系统时,系统建立的用户访问会话,在会话内选择和关联图像和验证问题,控制和管理用户访问会话。[0047]系统管理模块113
系统管理功能模块,包含用户管理,逻辑管理、参数配置等各种管理功能。
[0048]系统门户114:
系统用户登入门户的系统的门户,提供用户使用系统的界面和各种业务流程的承载。
[0049]图3示为本发明图像与作为验证码的答案的关联示意图 如图所示,描述了数据记录,图像与验证码的逻辑关系。
[0050]数据库包含的数据记录,每条记录包含了图像数据,可以是图像地址或图像的二进制数据。
[0051]图像与验证码问题通过图像ID等方式进行数据关联,一个图像可对应多个验证问题,通过算法从中选取。
[0052]图中示例为多个包含图像的数据记录,每个记录对应了多个验证问题。
[0053]图4示为本发明图像及验证问题生成流程示意图。
[0054]如图所示,验证码数据容器和验证码的生成流程包含如下步骤:
1)系统获取和解析用户的访问信息,包含访问时间,访问地址等;
2)系统选择本次图像选择的算法,计算本次图像在数据库中的地址选择对应的图
像;
3)系统选择验证问题的选择算法,根据系统指定的图像选取对应图像的验证问题;
4)推送选择的图像和验证问题到用户终端;
5)指示用户根据图像和验证问题回答验证码。
[0055]下面举一个例子来说明本发明用户使用本发明的一种基于图像内容的验证码的工作流程,如图2所示,该实施例中,业务包括以下步骤:
预置条件:用户在系统注册,验证码系统正常运行。
[0056]步骤1:用户登录系统,访问系统登录页面,系统登录页面包含的验证脚本模块请求验证数据;
步骤2:验证码系统接收到登录页面的验证码数据请求,根据请求消息包含的用户属性,安全级别数据选择图像和验证问题;
步骤3:系统获取本次图像和验证问题的选取规则,选择图像和验证问题并推送到用户页面;
步骤4.用户登录页面显示图像以及验证问题;
步骤5.用户阅读图像和验证问题后,回答验证问题作为验证码并填写到表单;
步骤6.用户提交数据进行登录,系统获取用户提交的验证数据并进行比对;
步骤7.根据验证数据比对结果以及用户登录数据,系统判定本次用户登录是否正确。
[0057]步骤8.根据系统判断结果,用户登录到系统或显示用户登录错误信息,提示用户再次进行登录操作。
[0058]本发明的描述是为了示例和说明起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
【权利要求】
1.一种基于图像内容的验证码,其特征在于,用户访问系统,系统生成和维护用户会话,系统按照选取规则选取图像,并基于图像对象的内容选取基于图像内容语义的验证问题,在用户访问端显示验证问题,要求用户回答验证问题作为验证码,用户阅读图像和验证问题,填写验证码,系统判断用户填写的验证答案与对应选择图像的验证问题对应的答案,如一致则通过用户本次的验证。
2.如权利要求1所述,用户访问系统,系统生成和维护用户会话,其特征在于,用户的每次访问,系统维护一个用户会话,系统在选择图像和验证问题、验证答案后,验证码数据保存在系统端,并与用户的访问会话进行关联,用户在输入和提交验证码后,系统将用户提交的验证码与会话对应的验证问题的答案进行比对,如一致则认为本次验证正确。
3.如权利要求1所述,系统按照选取规则选取图像,其特征在于,系统获取用户访问信息,包含用户信息,访问IP地址,访问时间,访问终端类型等包含在访问请求消息中的用户访问信息,系统根据用户访问信息进行计算和选择图像文件,进一步,基于选取的图像内容的语义指定验证问题。
4.如权利要求1所述,基于图像对象的内容选取基于图像内容语义的验证问题,其特征在于,系统从数据存储系统选取图像文件,根据选取的图像对应的内容属性,选择基于该图像内容语义的验证问题,一个图像对应多个基于该图像的验证问题和对应验证问题的答案,图像文件与验证问题为一对多的映射关系。
5.如权利要求1所述,在用户访问端显示验证问题,要求用户回答验证问题作为验证码,其特征在于,系统在选择图像以及对应的验证问题后,指示用户访问端显示对应的图像和验证问题,用户阅读到图像和验证问题后,基于用户的对图像的理解回答系统要求的验证问题,系统将用户的回答作为验证码进行验证。
6.如权利要求1所述,系统判断用户填写的验证答案与对应选择图像的验证问题对应的答案,其特征在于,用户填写验证码后,系统获取用户的回答,比较对应图像对应的验证问题的答案,判断用户的回答是否正确,如正确则认为用户本次的验证码正确。
7.如权利要求3所述,系统按照选取规则选择系统端的图像,其特征在于,系统获取用户的各种访问信息后,包含用户访问IP地址,时间戳,访问终端类型,如浏览器类型,将这些信息进行函数运算映射到对应的数据记录,以此抽取和选定对应的图像,如通过散列运算等映射函数,计算用户访问信息对应的数据记录,如用户访问地址在中国,时间为白天十二点,根据用户访问地址和访问时间,产生一个数据库数据记录范围内的随机数,根据这个随机数指定对应的图像以及验证码问题。
8.如权利要求4所述,图像以及对应的验证码问题和答案保存在数据存储系统,其特征在于,图像和验证问题和对应的答案保存在数据存储系统中,数据系统包含数据库系统方式,文件系统方式,图像与验证码问题之间为一对一或一对多的映射关系,验证问题与验证答案为一一对应的关系,通过关系数据库方式或文件描述的方式进行数据记录的保存和映射。
【文档编号】G06F21/36GK103428163SQ201210149769
【公开日】2013年12月4日 申请日期:2012年5月15日 优先权日:2012年5月15日
【发明者】顾健 申请人:上海博路信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1