CN103532979A - CGI web界面下的多会话验证码的产生及验证方法 - Google Patents
CGI web界面下的多会话验证码的产生及验证方法 Download PDFInfo
- Publication number
- CN103532979A CN103532979A CN201310526516.5A CN201310526516A CN103532979A CN 103532979 A CN103532979 A CN 103532979A CN 201310526516 A CN201310526516 A CN 201310526516A CN 103532979 A CN103532979 A CN 103532979A
- Authority
- CN
- China
- Prior art keywords
- code
- identifying code
- page
- checking
- identifying
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种CGI web界面下的多会话验证码的产生及验证方法。该方法是不同于其他系统的验证码的产生方式,本发明的验证码的产生是在CGI页面产生,在C++模块后台进行验证,所以安全性能好,并发处理能力强。此外,本发明是不同于其他系统的验证码的校验方式,其他系统只能去校验一组验证码,那么就会出现同时有多个用户请求的情况下会使验证码被覆盖,导致其中的一个或者多个用户的验证码校验错误,而本发明很好的解决了这个问题,不同的用户请求不同的验证码,他们是不相互依赖的。
Description
技术领域
本发明涉及网络应用领域,尤其涉及CGI web界面下的多会话验证码的产生及验证方法。
背景技术
验证码是位于用户登录的前后的一道验证技术,其作用是为了防止恶意破解密码、刷票、论坛灌水、刷页,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方式。虽然登录麻烦一点,但是对用户的密码安全来说这个功能还是很有必要,也很重要。但还是提醒大家要保护好自己的密码,尽量使用混杂了数字、字母、符号在内的6位以上密码,不要使用诸如1234之类的简单密码或者与用户名相同、类似的密码,免得你的账号被人盗用给自己带来不必要的麻烦。验证码通常使用一些线条和一些不规则的字符组成,主要作用是为了防止一些黑客把密码数据化登陆尝试从而让密码被盗取。
发明专利CN200810105458.8提供了一种网页表单数据验证的装置和方法。该装置包括:验证器管理模块,用于管理至少一个验证器,并维护验证器的标识和验证器之间的对应关系信息;脚本模块,用于接收生成脚本代码的调用请求,该调用请求中包含有网页表单的表单域信息,并根据该调用请求中包含的表单域信息,获取所述验证器管理模块所管理的验证器中与该网页表单中的表单域关联的验证器,通过调用该验证器获得用于客户端数据验证的脚本代码,将所述脚本代码输出,所述脚本代码用于客户端对所述表单域中的数据进行验证。利用本发明,减小客户端与服务器端的验证逻辑之间的不一致,从而减少系统出错的几率。该发明技术指出了在客户端进行验证,没有指明要在服务端后台进行验证,这样对于用户的安全的保护比较薄弱。
此外,发明专利CN200810173544.2提供了一种用于网页验证的系统,包含:认证模块,认证使用者识别码在系统中是否具独特性,且该使用者识别码与使用者身份相关;数据隐藏模块,根据数据隐藏算法,基于该使用者识别码、至少网页识别码与基本对象产生第一数据隐藏对象,每一个网页识别码与一个网页的识别相关连;内存模块,存储使用者识别码、网页识别码、基本对象、与数据隐藏算法所需参数的至少一个;及验证模块,基于一个网页识别码,从一个网页获取第一数据隐藏对象;基于该网页识别码,从内存模块获取使用者识别码与所有网页识别码;基于已获取的网页识别码、已获取的使用者识别码、基本对象,产生第二数据隐藏对象,比较该第一数据隐藏对象与第二数据隐藏对象。该发明的主要缺点是没有涉及到多会话的处理,以及处理验证码的时候的安全问题,这样它的性能和安全性可能不是很可靠。
综上可知现有的验证码中有一些还是存在安全性和多用户登陆时的问题。没有在后台验证输入的验证码,只是在页面进行简单的校验,存在了安全隐患;没有考虑多用户操作时验证码会被覆盖而导致验证码失效的问题,本发明就是为了解决这些方案的不足而提出的。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种CGI web界面下的多会话验证码的产生及验证方法,使得并发性更强,验证码的验证功能更加安全,从而增强了系统的安全性。
本发明中验证码的产生方法为:
首先,页面由PERL编码的CGI界面展现生成,打开页面将会产生2项4位随机数和当前时间这三项作为一组验证码组保存到配置文件中,一项4位数用于生成图片验证码上的数字图片,另一项4位数用于唯一标识当前的页面。在这组验证码组保存过程中,会调用并传递页面生成的验证码组数据到由C++代码编写的后台保存模块,保存模块先根据验证码组保存时的当前时间项逐组检查以前的保存的验证码组的有效时间是否已经超时,默认每组验证码的有效时间是10分钟,如果某组验证码组的当前时间项已经超时则将已经超时的这一组验证码组的数据删除,然后再保存在页面获取到的一组验证码组到配置文件中,如果配置文件中的验证码组都没有超时,则直接保存页面生成的一组验证码组。验证码组保存完成后,将验证码组中的其中一项4位数作为验证码,生成图片验证码上的数字图案展现在页面,保存另一个4位数作为本页面的唯一标识隐藏,则验证码的产生完成。C++代码编写后台保存模块,主要是完成上述描述的保存过程,这样就实现了验证码的产生与保存。
本发明中验证码的验证方法为:
用户依据展现的页面上的验证码图片的数字输入相应的验证码,提交验证码的时候,用户首先判断输入的验证码与页面验证码图片显示的验证码数字是否一致,然后点登陆或者提交,页面就会把这个用户输入的四位验证码、此页面的唯一标识码及当前时间组成一个用户输入的验证码组传入后台,验证码的验证过程开始。验证过程如下:用户验证码组传入后台后,验证模块会首先检查保存验证码的配置文件中在当前时间是否有验证码已经超时过期,如果没过期,则与配置文件中的验证码进行遍历比对是否有与此传入的用户验证码组匹配的组,若匹配就验证成功,否则失败;如果有验证码过期,则删除掉过期的验证码,然后与配置文件中的验证码进行遍历比对是否有与此传入的验证码组匹配的组,若匹配就验证成功,否则失败。后台验证码的验证模块由C++实现,这样进行验证码的验证,使得验证过程更加安全,利用C++的特性,使得并发性更强,实现了多会话验证码的验证功能。
本发明方法带来的有益效果:
本发明方法通过PERL编码的CGI WEB生成验证码及验证码图片,使用C++来支持多会话的验证码保存与验证功能,使得多个用户能够进行同时操作,解决了多个用户的同时登陆而导致的验证码覆盖或失效的问题,而且使用C++来实现多会话验证码支持,使得并发性更强,验证码的校验功能更加安全,从而增强了系统的安全性,防止非法用户绕过验证码的验证而实现登陆尝试或者攻击,其安全性有了大大的提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明中验证码的产生流程图;
图2是本发明中验证码的验证流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种CGI web界面下的多会话验证码的产生及验证方法,该方法是不同于其他系统的验证码的产生方式,本发明的验证码的产生是在CGI页面产生,在C++模块后台进行验证,所以安全性能好,并发处理能力强。此外,本发明是不同于其他系统的验证码的校验方式,其他系统只能去校验一组验证码,那么就会出现同时有多个用户请求的情况下会使验证码被覆盖,导致其中的一个或者多个用户的验证码校验错误,而本发明很好的解决了这个问题,不同的用户请求不同的验证码,他们是不相互依赖的。
本发明中验证码的产生如图1所示:
首先,打开web页面将会产生2项4位随机数,比如:a79h和u3w8,其中一项作为key,如a79h,另一项作为value,如u3w8,再获取一个当前时间,如20131022105136,然后把这三项数据key:a79h,value:u3w8,time:20131022105136作为一组验证码组保存到配置文件中,在保存过程中,先依据每组验证码保存的当前时间项检查以前保存的每组验证码的停留时间,即与现在的当前时间比较是否已经超时,默认是10分钟,如果已经超时则将已经超时的一组验证码组的数据删除,然后再将页面获取到的验证码组与未超时的原保存的验证码组一起保存到配置文件中,如果原来保存到配置文件的验证码组没有超时,则将页面获取到的验证码组与原保存的验证码组一起保存到配置文件中。验证码组保存完成后,页面将依据value的值u3w8生成一个验证码图片,展现在界面,此u3w8即是用户在页面展现的验证码上看到的图案,同时提供一个验证码输入框给用户验证输入验证码,而key:a79h则隐藏保存在界面。每个页面都在展现时生成各自的验证码组,展现各自的验证码的验证码图片,后台C++保存模块统一保存多会话的验证码组,从而实现了多会话的验证码功能。
本发明中验证码的验证如图2所示:
用户依据验证码图片的图案将验证码输入到验证码输入框,如验证码图案显示u3w8,提交验证码之前,用户首先判断输入的验证码与页面的验证码图片的图案是否匹配,点提交后页面把用户输入的验证码value:u3w8,页面标识key:a79h作为一组用户输入验证码组传进后台验证模块验证。在验证过程中,验证模块会依据每组验证码组保存的当前时间项与现在的当前时间比较,检查保存在配置文件中的每组验证码组是否有已经超时过期,如果没过期,则与配置文件中的验证码进行遍历比对是否匹配,查找key为a79h,value为u3w8的验证码组,若匹配就是验证码验证成功,否则失败;如果有验证码过期,则删除掉过期的验证码组,然后再进行遍历比对,比对成功则验证码验证成功,否则失败,返回验证结果给页面。每一个页面都独立执行上面的过程,这样进行验证码的验证,使得验证过程更加安全,利用C++的特性,使得并发性更强,实现了多会话验证码的验证功能。
本发明中验证码产生及验证的C++结构如下:
本发明方法通过使用C++来实现多会话的验证码的功能,使得多个用户能够进行同时操作,而且使用C++来实现多会话,使得并发性更强,验证码的校验功能更加安全,从而增强了系统的安全性,以免受到攻击。
本发明还能够直接进行验证码的产生和验证码的校验,而不用校验验证码的有效性,即验证码是否已经过期,但这样使得验证码会大量堆积而占用了内存。本发明还可以不用C++,而直接在页面产生验证码在页面就进行验证,但是这样可能使得系统不安全,因为一些恶意用户会绕过页面的验证直接与服务端通信,所以必须在服务端也进行校验,防止恶意攻击。
以上对本发明实施例所提供的CGI web界面下的多会话验证码的产生及验证方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.CGI web界面下的多会话验证码的产生方法,其特征在于,首先,页面由PERL编码的CGI界面展现生成,打开页面将会产生2项4位随机数和当前时间这三项作为一组验证码组保存到配置文件中,一项4位数用于生成图片验证码上的数字图片,另一项4位数用于唯一标识当前的页面;在这组验证码组保存过程中,会调用并传递页面生成的验证码组数据到由C++代码编写的后台保存模块,保存模块先根据验证码组保存时的当前时间项逐组检查以前的保存的验证码组的有效时间是否已经超时,默认每组验证码的有效时间是10分钟,如果某组验证码组的当前时间项已经超时则将已经超时的这一组验证码组的数据删除,然后再保存在页面获取到的一组验证码组到配置文件中,如果配置文件中的验证码组都没有超时,则直接保存页面生成的一组验证码组;验证码组保存完成后,将验证码组中的其中一项4位数作为验证码,生成图片验证码上的数字图案展现在页面,保存另一个4位数作为本页面的唯一标识隐藏,则验证码的产生完成。
2.根据权利要求1所述的方法,其特征在于,后台C++保存模块能够统一保存多会话的验证码组,从而实现了多会话的验证码功能。
3.根据权利要求1所述的方法,其特征在于,本发明还能够直接进行验证码的产生,而不用校验验证码的有效性,即验证码是否已经过期,但这样使得验证码会大量堆积而占用了内存。
4.根据权利要求1所述的方法,其特征在于,本发明还能够不用C++进行后台保存,而直接在页面产生验证码。
5.CGI web界面下的多会话验证码的验证方法,其特征在于,用户依据展现的页面上的验证码图片的数字输入相应的验证码,提交验证码的时候,用户首先判断输入的验证码与页面验证码图片显示的验证码数字是否一致,然后点登陆或者提交,页面就会把这个用户输入的四位验证码、此页面的唯一标识码及当前时间组成一个用户输入的验证码组传入后台,验证码的验证过程开始,验证过程如下:用户验证码组传入后台后,验证模块会首先检查保存验证码的配置文件中在当前时间是否有验证码已经超时过期,如果没过期,则与配置文件中的验证码进行遍历比对是否有与此传入的用户验证码组匹配的组,若匹配就验证成功,否则失败;如果有验证码过期,则删除掉过期的验证码,然后与配置文件中的验证码进行遍历比对是否有与此传入的验证码组匹配的组,若匹配就验证成功,否则失败。
6.根据权利要求5所述的方法,其特征在于,每一个页面都独立执行验证码的验证过程,使得验证过程更加安全,利用C++的特性,使得并发性更强,实现了多会话验证码的验证功能。
7.根据权利要求5所述的方法,其特征在于,本发明还能够直接进行验证码的校验,而不用校验验证码的有效性,即验证码是否已经过期,但这样使得验证码会大量堆积而占用了内存。
8.根据权利要求5所述的方法,其特征在于,本发明还能够不用C++,而直接在页面产生验证码在页面就进行验证,但是这样可能使得系统不安全,因为一些恶意用户会绕过页面的验证直接与服务端通信,所以必须在服务端也进行校验,防止恶意攻击。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310526516.5A CN103532979A (zh) | 2013-10-30 | 2013-10-30 | CGI web界面下的多会话验证码的产生及验证方法 |
PCT/CN2014/089249 WO2015062441A1 (zh) | 2013-10-30 | 2014-10-23 | CGI web界面下的多会话验证码的产生及验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310526516.5A CN103532979A (zh) | 2013-10-30 | 2013-10-30 | CGI web界面下的多会话验证码的产生及验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103532979A true CN103532979A (zh) | 2014-01-22 |
Family
ID=49934658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310526516.5A Pending CN103532979A (zh) | 2013-10-30 | 2013-10-30 | CGI web界面下的多会话验证码的产生及验证方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103532979A (zh) |
WO (1) | WO2015062441A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062441A1 (zh) * | 2013-10-30 | 2015-05-07 | 蓝盾信息安全技术有限公司 | CGI web界面下的多会话验证码的产生及验证方法 |
CN105357693A (zh) * | 2015-09-28 | 2016-02-24 | 深圳市江波龙科技有限公司 | WiFi设备的网络配置方法和系统 |
CN106257480A (zh) * | 2015-06-05 | 2016-12-28 | 北京京东尚科信息技术有限公司 | 一种防止机器人工具恶意访问页面的方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483435A (zh) * | 2017-08-11 | 2017-12-15 | 青岛海尔多媒体有限公司 | 验证码校验的方法及装置 |
CN111460340B (zh) * | 2020-04-03 | 2023-09-26 | 北京四维智联科技有限公司 | 一种生成tom系统嵌入页地址的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047537A (zh) * | 2006-03-30 | 2007-10-03 | 盛趣信息技术(上海)有限公司 | 网络通行证注册方法 |
CN101072095A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种文件下载的控制方法及装置 |
CN102255917A (zh) * | 2011-08-15 | 2011-11-23 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
CN102469091A (zh) * | 2010-11-18 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种页面验证码处理的方法、装置及终端 |
CN103312512A (zh) * | 2013-06-07 | 2013-09-18 | 深圳第七大道网络技术有限公司 | 一种图片验证码的生成方法及装置、身份验证方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002314549A (ja) * | 2001-04-18 | 2002-10-25 | Nec Corp | ユーザ認証システム及びそれに用いるユーザ認証方法 |
CN101178813B (zh) * | 2007-12-19 | 2010-04-14 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN101252439B (zh) * | 2008-04-10 | 2010-09-01 | 北京飞天诚信科技有限公司 | 一种增强信息安全设备安全性的系统及方法 |
CN103179088B (zh) * | 2011-12-21 | 2017-07-07 | 腾讯科技(深圳)有限公司 | 通用网关接口业务的保护方法及系统 |
CN102624705B (zh) * | 2012-02-21 | 2015-09-30 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN103532979A (zh) * | 2013-10-30 | 2014-01-22 | 蓝盾信息安全技术股份有限公司 | CGI web界面下的多会话验证码的产生及验证方法 |
-
2013
- 2013-10-30 CN CN201310526516.5A patent/CN103532979A/zh active Pending
-
2014
- 2014-10-23 WO PCT/CN2014/089249 patent/WO2015062441A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047537A (zh) * | 2006-03-30 | 2007-10-03 | 盛趣信息技术(上海)有限公司 | 网络通行证注册方法 |
CN101072095A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种文件下载的控制方法及装置 |
CN102469091A (zh) * | 2010-11-18 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种页面验证码处理的方法、装置及终端 |
CN102255917A (zh) * | 2011-08-15 | 2011-11-23 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
CN103312512A (zh) * | 2013-06-07 | 2013-09-18 | 深圳第七大道网络技术有限公司 | 一种图片验证码的生成方法及装置、身份验证方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062441A1 (zh) * | 2013-10-30 | 2015-05-07 | 蓝盾信息安全技术有限公司 | CGI web界面下的多会话验证码的产生及验证方法 |
CN106257480A (zh) * | 2015-06-05 | 2016-12-28 | 北京京东尚科信息技术有限公司 | 一种防止机器人工具恶意访问页面的方法及装置 |
CN105357693A (zh) * | 2015-09-28 | 2016-02-24 | 深圳市江波龙科技有限公司 | WiFi设备的网络配置方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015062441A1 (zh) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104469767B (zh) | 一套移动办公系统中集成式安全防护子系统的实现方法 | |
CN102164141B (zh) | 保护账号安全的方法 | |
CN103581105B (zh) | 登录验证方法和登录验证系统 | |
CN101897165B (zh) | 数据处理系统中验证用户的方法 | |
CN104660605B (zh) | 一种多因子身份验证方法及其系统 | |
CN109618341A (zh) | 一种数字签名认证方法、系统、装置以及存储介质 | |
US9847874B2 (en) | Intermediary organization account asset protection via an encoded physical mechanism | |
CN101257489A (zh) | 一种保护账号安全的方法 | |
CN103795724A (zh) | 一种基于异步动态口令技术的保护账户安全的方法 | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN1832401A (zh) | 一种保护帐号密码安全的方法 | |
CN106936790A (zh) | 基于数字证书实现客户端和服务器端进行双向认证的方法 | |
CN102868702B (zh) | 系统登录装置和系统登录方法 | |
CN106230594B (zh) | 一种基于动态口令进行用户认证的方法 | |
CN103853950A (zh) | 一种基于移动终端的认证方法及移动终端 | |
CN109726578B (zh) | 一种动态二维码防伪解决办法 | |
CN101420302A (zh) | 安全认证方法和设备 | |
CN106161348A (zh) | 一种单点登录的方法、系统以及终端 | |
CN107835160A (zh) | 基于二维码的第三方用户认证方法 | |
CN103532979A (zh) | CGI web界面下的多会话验证码的产生及验证方法 | |
CN104717224A (zh) | 一种登录方法及装置 | |
CN105681340A (zh) | 一种数字证书的使用方法及装置 | |
CN105743905A (zh) | 一种实现安全登录的方法、设备、装置及系统 | |
CN106533677A (zh) | 一种用户登录方法、用户终端及服务器 | |
CN108667801A (zh) | 一种物联网接入身份安全认证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140122 |