CN1980126A - 图片验证码的实现方法 - Google Patents
图片验证码的实现方法 Download PDFInfo
- Publication number
- CN1980126A CN1980126A CN 200510111302 CN200510111302A CN1980126A CN 1980126 A CN1980126 A CN 1980126A CN 200510111302 CN200510111302 CN 200510111302 CN 200510111302 A CN200510111302 A CN 200510111302A CN 1980126 A CN1980126 A CN 1980126A
- Authority
- CN
- China
- Prior art keywords
- picture
- user
- pictures
- validation code
- random
- 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
Abstract
本发明公开了一种在网络中用于防止页面被恶意程序攻击的图片验证码实现方法,采用图片形式作为认证码,系统从已经存在的大量图片列表中随机取出N(N≥4)张不重复的图片,并将图片有效像素的分布保存在一个二维矩阵中,组合成为一张图片作为验证图片显示在对话框中;从N张已经存在的图片中随机选取一张图片作为验证图片中用户选择的图片;用户在使用图片验证码进行验证过程中,如果从页面中显示的N张图片选中图片验证码,则验证通过,如果点击错误,则对话窗口出现输入验证码错误的信息提示。本发明可以防止网络中浏览页面被恶意程序攻击,可以防止人为的恶意注册,增强网络信息的安全性。
Description
技术领域
本发明涉及一种在网络中用于防止页面被恶意程序攻击的图片验证码实现方法。
技术背景
目前,在网络浏览器界面中多采用数字或数字加图片背景的形式作为用户注册输入验证码,保证网页中注册信息及信息的安全性。在输入用户名及静态密码后,会增加一个随机的认证码,此密码多数情况是采用数字、字母或数字与字母的结合等认证码方式。用户通过肉眼识别其中验证码信息,输入表单提交网站验证,验证成功后才能正确登录使用。当前使用比较流行的是生成4个随机数字和杂乱背景的图片(即增加一定的干扰像素),数字和背景颜色在每一次输入请求时随机变化。
现有的数字认证码形式比较单一,不能完全适应网络的发展,特别是保证防止网络中网页串改及恶意注册的需要。
发明内容
本发明要解决的技术问题是提供一种图片验证码实现方法,它可以防止页面被恶意程序攻击并进行恶意注册,增强密码破解的难度,增强安全认证的可靠性。
为解决上述技术问题,本发明图片验证码实现方法,在用户每一次请求的时候,系统从已经存在的大量图片列表中随机取出N(N≥4)张不重复的图片,把N张图片的序号和名称放入用户会话中,并将图片有效像素的分布保存在一个二维矩阵中,组合成为一张图片作为验证图片显示在对话框中,以便用户验证使用;从N张已经存在的图片中随机选取一张图片作为验证图片中用户选择的图片,并把该图片的名称和序号保存在用户会话中;用户在使用曾选择的图片作为图片验证码进行验证过程中,如果从页面中显示的N张图片选中图片验证码,则验证通过,如果点击错误,则对话窗口出现输入验证码错误的信息提示。
由于采用本发明的方法,采用图片形式作为认证码输入的形式,通过大量的图片,类似的颜色,随机的位置和图片来加强被破解的难度。这样既克服了数字认证码形式比较单一的不足,又有利于保证防止网页被恶意程序攻击等。
采用0~9这10个数字组合成的验证码,网页设计中的普通脚本即可读到字符串形式的数字。本发明提出的图片验证码的形式,其安全性非常高,如果恶意攻击者想按照以前数字验证的模式进行破解,必须要解决“如何提取图片中的验证“这一问题。本发明有效地利用了图片验证中的复杂及防破解难度大这一特点,保证了例如网络注册等恶意攻击上的安全性。
具体实施方式
本发明图片验证码实现方法,是一种使用N(N≥4)张随机图片进行认证的密码认证方法。
首先,在系统图片库中放置大量的图片,用户点击输入验证码的窗口时,由系统在一个96*96像素的范围内为每张图片随机寻找N个不同的位置,作为N张图片的显示位置,并把这N个位置的坐标保存在用户会话中。然后按照图片的序号和位置把N张图片生成一张图片。通过一个web页面把该图片显示到用户的浏览器中。同时把用户要选择的图片名称也显示到用户浏览器中。
在用户每一次请求的时候,从N张已经存在的图片中随机取一张图片作为验证图片中用户选择的图片(即图片验证码),并把该图片验证码的名称和序号保存在用户会话中。
生成的图片验证码作为页面中Form(表单)的提交按钮,用户按照页面的提示点击验证码图片上的相应图片。然后页面提交到服务器,在服务器端获取用户点击图片的坐标。根据所述的生成图片的位置,把从客户端获取的用户点击的位置换算成每个图片的坐标体系,然后遍历保存在用户会话中的每个图片的二维矩阵。如果该坐标落在系统制定要选择的图片有效像素的范围内,并且该坐标上没有图片重叠的话,就认为用户选择正确;如果该坐标上有图片重叠,则显示在最外层,也就是图片序号最大的图片是系统指定用户要选择的图片,也认为用户选择是正确的;否则认为用户选择是错误的。验证完成后,把用户该次的会话信息清除。
生成的验证图片是带有Alpha通道(设置数字图像透明度)的PNG(Portable Network Graphics一种图像格式)矢量透明图片。在进行图片透底处理的时候不会留下黑边,图片大小为48*48像素。
作为验证码的图片采用颜色接近,甚至是相同的大量的图片,能有效限制程序破解者通过颜色来破译认证程序,同时N幅图片的放置是重叠的,重叠的程度是随机的,使得破解者无法得到一个完整的图片轮廓,增强了防破解的难度。
本发明的图片验证码与目前使用的数字及符号验证码比较,其输入方式采用直接点击选择,不需要输入文字或符号信息,简捷、实用,防破解功能强,适用于各种需要认证码的环境。
Claims (6)
1、一种图片验证码实现方法,其特征在于:在用户每一次请求的时候,系统从已经存在的大量图片列表中随机取出N张不重复的图片,其中,N≥4;把N张图片的序号和名称放入用户会话中,并将图片有效像素的分布保存在一个二维矩阵中,组合成为一张图片作为验证图片显示在对话框中,以便用户验证使用;从N张已经存在的图片中随机选取一张图片作为验证图片中用户选择的图片,并把该图片的名称和序号保存在用户会话中;用户在使用曾选择的图片作为图片验证码进行验证过程中,如果从页面中显示的N张图片选中图片验证码,则验证通过,如果点击错误,则对话窗口出现输入验证码错误的信息提示。
2、根据权利要求1所述的图片验证码实现方法,其特征在于:所述将随机取出的N张图片组合成为一张图片的方法是,首先,在系统图片库中放置大量的图片,用户点击输入验证码的窗口时,由系统在一个96*96像素的范围内为每张图片随机寻找N个不同的位置,作为N张图片的显示位置,并把这N个位置的坐标保存在用户会话中;然后,按照图片的序号和位置把N张图片合成一张图片。
3、根据权利要求1或2所述的图片验证码实现方法,其特征在于:所述由N张图片生成的一张图片,通过一个web页面把该图片显示到用户的浏览器中,同时把用户要选择的图片名称也显示到用户浏览器中。
4、根据权利要求1或2所述的图片验证码实现方法,其特征在于:使用图片验证码进行验证过程是:生成的图片验证码作为页面中Form的提交按钮,用户按照页面的提示点击验证码图片上的相应图片;然后页面提交到服务器,在服务器端获取用户点击图片的坐标;根据生成图片的位置,把从客户端获取的用户点击的位置换算成每个图片的坐标体系,然后遍历保存在用户会话中的每个图片的二维矩阵;如果该坐标落在系统制定要选择的图片有效像素的范围内,并且该坐标上没有图片重叠的话,就认为用户选择正确;如果该坐标上有图片重叠,则显示在最外层,也就是图片序号最大的图片是系统指定用户要选择的图片,也认为用户选择是正确的;否则认为用户选择是错误的;验证完成后,把用户该次的会话信息清除。
5、根据权利要求1或2所述的图片验证码实现方法,其特征在于:生成的验证图片是带有Alpha通道的PNG矢量透明图片,图片大小为48*48像素。
6、根据权利要求1或2所述的图片验证码实现方法,其特征在于:生成的验证图片采用颜色接近或相同的大量的图片,同时N幅图片的放置是重叠的,重叠的程度是随机的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510111302 CN1980126A (zh) | 2005-12-08 | 2005-12-08 | 图片验证码的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510111302 CN1980126A (zh) | 2005-12-08 | 2005-12-08 | 图片验证码的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1980126A true CN1980126A (zh) | 2007-06-13 |
Family
ID=38131149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510111302 Pending CN1980126A (zh) | 2005-12-08 | 2005-12-08 | 图片验证码的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1980126A (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178813B (zh) * | 2007-12-19 | 2010-04-14 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN101141256B (zh) * | 2007-08-03 | 2010-05-26 | 哈尔滨工程大学 | 基于Ajax获取变长交互性验证码的方法 |
CN101895542A (zh) * | 2010-07-05 | 2010-11-24 | 北京畅游时空软件技术有限公司 | 一种验证码的获取方法及装置 |
CN101897165A (zh) * | 2007-10-30 | 2010-11-24 | 意大利电信股份公司 | 数据处理系统中验证用户的方法 |
CN101938466A (zh) * | 2010-07-30 | 2011-01-05 | 百度在线网络技术(北京)有限公司 | 一种用于基于开放式知识库进行用户验证的方法与设备 |
CN101197678B (zh) * | 2007-12-27 | 2011-04-06 | 腾讯科技(深圳)有限公司 | 图片验证码生成方法和图片验证码生成装置 |
CN102075507A (zh) * | 2010-07-30 | 2011-05-25 | 百度在线网络技术(北京)有限公司 | 一种用于基于词句验证图进行用户验证的方法与设备 |
CN101488228B (zh) * | 2008-01-14 | 2011-12-07 | 联想(北京)有限公司 | 一种防机器识别的信息显示方法及装置 |
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN102571734A (zh) * | 2011-01-04 | 2012-07-11 | 腾讯科技(深圳)有限公司 | 一种基于多层级目录的密码认证方法及其装置 |
CN102624705A (zh) * | 2012-02-21 | 2012-08-01 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN102710635A (zh) * | 2012-05-30 | 2012-10-03 | 无锡德思普科技有限公司 | 一种基于循环趋稳动态验证码图片的验证方法 |
CN102708112A (zh) * | 2011-01-31 | 2012-10-03 | 游戏橘子数位科技股份有限公司 | 随机产生验证图形及题组的方法 |
CN103927465A (zh) * | 2014-01-05 | 2014-07-16 | 艾文卫 | 一种基于图形的验证码生成和验证方法 |
CN104219206A (zh) * | 2013-05-31 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 互联网身份辅助校验方法、装置和系统 |
CN104468101A (zh) * | 2013-09-12 | 2015-03-25 | 深圳市腾讯计算机系统有限公司 | 一种用户身份的验证方法、装置和验证服务系统 |
CN104657653A (zh) * | 2013-11-19 | 2015-05-27 | 博雅网络游戏开发(深圳)有限公司 | 图像验证码的验证方法及验证装置 |
CN104794385A (zh) * | 2015-03-03 | 2015-07-22 | 新浪网技术(中国)有限公司 | 一种信息验证方法及装置 |
CN104811304A (zh) * | 2014-01-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN105303082A (zh) * | 2014-07-04 | 2016-02-03 | 王纪清 | 伺服器、使用者装置及终端装置 |
CN106156595A (zh) * | 2015-04-02 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 一种通过验证码图片进行验证的方法、装置及系统 |
CN107577933A (zh) * | 2017-08-22 | 2018-01-12 | 广东欧珀移动通信有限公司 | 应用登录方法和装置、计算机设备、计算机可读存储介质 |
CN108390862A (zh) * | 2018-01-29 | 2018-08-10 | 丹露成都网络技术有限公司 | 一种基于图片数据加密索引的图形验证方法 |
CN104243399B (zh) * | 2013-06-07 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 用户验证方法以及实现该方法的客户端、服务器及系统 |
CN109523557A (zh) * | 2018-10-11 | 2019-03-26 | 郑昕匀 | 一种图像语义分割标注方法、装置及存储介质 |
CN110851816A (zh) * | 2019-11-18 | 2020-02-28 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
CN112751799A (zh) * | 2019-10-29 | 2021-05-04 | 北京沃东天骏信息技术有限公司 | 基于图片验证码的验证方法和装置 |
-
2005
- 2005-12-08 CN CN 200510111302 patent/CN1980126A/zh active Pending
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141256B (zh) * | 2007-08-03 | 2010-05-26 | 哈尔滨工程大学 | 基于Ajax获取变长交互性验证码的方法 |
CN101897165A (zh) * | 2007-10-30 | 2010-11-24 | 意大利电信股份公司 | 数据处理系统中验证用户的方法 |
CN101897165B (zh) * | 2007-10-30 | 2013-06-12 | 意大利电信股份公司 | 数据处理系统中验证用户的方法 |
CN101178813B (zh) * | 2007-12-19 | 2010-04-14 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN101197678B (zh) * | 2007-12-27 | 2011-04-06 | 腾讯科技(深圳)有限公司 | 图片验证码生成方法和图片验证码生成装置 |
CN101488228B (zh) * | 2008-01-14 | 2011-12-07 | 联想(北京)有限公司 | 一种防机器识别的信息显示方法及装置 |
CN101895542A (zh) * | 2010-07-05 | 2010-11-24 | 北京畅游时空软件技术有限公司 | 一种验证码的获取方法及装置 |
CN101895542B (zh) * | 2010-07-05 | 2013-03-20 | 北京畅游时空软件技术有限公司 | 一种验证码的获取方法及装置 |
CN101938466A (zh) * | 2010-07-30 | 2011-01-05 | 百度在线网络技术(北京)有限公司 | 一种用于基于开放式知识库进行用户验证的方法与设备 |
CN102075507A (zh) * | 2010-07-30 | 2011-05-25 | 百度在线网络技术(北京)有限公司 | 一种用于基于词句验证图进行用户验证的方法与设备 |
CN102571734B (zh) * | 2011-01-04 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种基于多层级目录的密码认证方法及其装置 |
CN102571734A (zh) * | 2011-01-04 | 2012-07-11 | 腾讯科技(深圳)有限公司 | 一种基于多层级目录的密码认证方法及其装置 |
CN102708112A (zh) * | 2011-01-31 | 2012-10-03 | 游戏橘子数位科技股份有限公司 | 随机产生验证图形及题组的方法 |
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN102360409B (zh) * | 2011-09-29 | 2015-09-02 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN102624705A (zh) * | 2012-02-21 | 2012-08-01 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN102624705B (zh) * | 2012-02-21 | 2015-09-30 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN102710635A (zh) * | 2012-05-30 | 2012-10-03 | 无锡德思普科技有限公司 | 一种基于循环趋稳动态验证码图片的验证方法 |
CN104219206A (zh) * | 2013-05-31 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 互联网身份辅助校验方法、装置和系统 |
CN104243399B (zh) * | 2013-06-07 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 用户验证方法以及实现该方法的客户端、服务器及系统 |
CN104468101A (zh) * | 2013-09-12 | 2015-03-25 | 深圳市腾讯计算机系统有限公司 | 一种用户身份的验证方法、装置和验证服务系统 |
CN104657653A (zh) * | 2013-11-19 | 2015-05-27 | 博雅网络游戏开发(深圳)有限公司 | 图像验证码的验证方法及验证装置 |
CN104657653B (zh) * | 2013-11-19 | 2017-12-22 | 博雅网络游戏开发(深圳)有限公司 | 图像验证码的验证方法及验证装置 |
CN103927465A (zh) * | 2014-01-05 | 2014-07-16 | 艾文卫 | 一种基于图形的验证码生成和验证方法 |
CN104811304A (zh) * | 2014-01-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN104811304B (zh) * | 2014-01-27 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN105303082A (zh) * | 2014-07-04 | 2016-02-03 | 王纪清 | 伺服器、使用者装置及终端装置 |
CN105303082B (zh) * | 2014-07-04 | 2018-03-27 | 王纪清 | 伺服器、使用者装置及终端装置 |
CN104794385A (zh) * | 2015-03-03 | 2015-07-22 | 新浪网技术(中国)有限公司 | 一种信息验证方法及装置 |
CN106156595A (zh) * | 2015-04-02 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 一种通过验证码图片进行验证的方法、装置及系统 |
CN106156595B (zh) * | 2015-04-02 | 2020-04-07 | 深圳市腾讯计算机系统有限公司 | 一种通过验证码图片进行验证的方法、装置及系统 |
CN107577933B (zh) * | 2017-08-22 | 2020-01-10 | Oppo广东移动通信有限公司 | 应用登录方法和装置、计算机设备、计算机可读存储介质 |
CN107577933A (zh) * | 2017-08-22 | 2018-01-12 | 广东欧珀移动通信有限公司 | 应用登录方法和装置、计算机设备、计算机可读存储介质 |
CN108390862A (zh) * | 2018-01-29 | 2018-08-10 | 丹露成都网络技术有限公司 | 一种基于图片数据加密索引的图形验证方法 |
CN109523557A (zh) * | 2018-10-11 | 2019-03-26 | 郑昕匀 | 一种图像语义分割标注方法、装置及存储介质 |
CN109523557B (zh) * | 2018-10-11 | 2023-06-16 | 南宁因果科技有限公司 | 一种图像语义分割标注方法、装置及存储介质 |
CN112751799A (zh) * | 2019-10-29 | 2021-05-04 | 北京沃东天骏信息技术有限公司 | 基于图片验证码的验证方法和装置 |
CN112751799B (zh) * | 2019-10-29 | 2023-09-05 | 北京沃东天骏信息技术有限公司 | 基于图片验证码的验证方法和装置 |
CN110851816A (zh) * | 2019-11-18 | 2020-02-28 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
CN110851816B (zh) * | 2019-11-18 | 2023-10-31 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100576794C (zh) | 图片验证码的实现方法 | |
CN1980126A (zh) | 图片验证码的实现方法 | |
US8453221B2 (en) | Method for improving security in login and single sign-on procedures | |
CN101601222B (zh) | 在线数据加密和解密 | |
US8176332B2 (en) | Computer security using visual authentication | |
Dhamija et al. | The battle against phishing: Dynamic security skins | |
US8397275B1 (en) | Time-varying sequenced image overlays for CAPTCHA | |
JP5133248B2 (ja) | クライアント/サーバー認証システムにおけるオフライン認証方法 | |
US9390249B2 (en) | System and method for improving security of user account access | |
US20090113294A1 (en) | Progressive captcha | |
US20090067627A1 (en) | Method and System for Transmitting Data From a First Data Processing Device to a Second Data Processing Device | |
CN106682489A (zh) | 一种密码安全检测方法、密码安全提示方法及相应装置 | |
Khedr | Improved keylogging and shoulder-surfing resistant visual two-factor authentication protocol | |
CN111143812B (zh) | 一种基于图形的登陆认证方法 | |
CN101027630A (zh) | 在线数据加密与解密 | |
CN102164137A (zh) | 一种基于动态映射口令的强验证方法 | |
Xu et al. | SDD: A trusted display of FIDO2 transaction confirmation without trusted execution environment | |
Gelernter et al. | Tell me about yourself: The malicious captcha attack | |
US20130014214A1 (en) | System Security Process Method and Properties of Human Authorization Mechanism | |
CN107844290A (zh) | 基于数据流安全威胁分析的软件产品设计方法及装置 | |
Wells et al. | Enhanced Security for Preventing Man-in-the-Middle Attacks in Authentication, DataEntry and Transaction Verification | |
Phatak | Implementing Colour Shuffling with OTP as a defence against Shoulder Surfing | |
Karlof | Human factors in web authentication | |
KR101170822B1 (ko) | 다양한 비밀퍼즐을 이용한 승인 방법 | |
Jakobsson et al. | Identity Theft |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |