CN103312695A - 一种图片验证码的实现方法 - Google Patents
一种图片验证码的实现方法 Download PDFInfo
- Publication number
- CN103312695A CN103312695A CN2013101879914A CN201310187991A CN103312695A CN 103312695 A CN103312695 A CN 103312695A CN 2013101879914 A CN2013101879914 A CN 2013101879914A CN 201310187991 A CN201310187991 A CN 201310187991A CN 103312695 A CN103312695 A CN 103312695A
- Authority
- CN
- China
- Prior art keywords
- picture
- implementation method
- validation code
- steps
- code according
- 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.)
- Granted
Links
Abstract
本发明一种图片验证码的实现方法,该方法包括图片预处理、缓存、用户操作及验证等步骤。通过选取具有可辨别方向的图片以及用户识别和旋转图片来实现用户的身份验证。它解决现有技术中验证码用户体验不佳、已破解等技术问题。本发明具有可扩展和维护性好,安全性高、难破解以及对用户友善等优点。
Description
技术领域
本发明涉及一种互联网上或计算机软件中区分用户是计算机和人的公共全自动程序,尤其涉及一种图片验证码的实现方法,属于网络应用技术领域。
背景技术
随着计算机和网络技术的发展,互联网已深入到人们生活的各个领域。网络在给人们生活提供便利的同时,也面临着各种挑战,如:如何有效地防止恶意破解密码、登陆、注册、刷票、论坛灌水等恶意行为。验证码技术是一种区分用户是计算机或人的公共全自动程序,在防止上述恶意行为上起到了重要的作用。当前主流的验证码是将字母或字符输出到图片上,让用户输入图片上的字符,用户输入的字符与图片上的字符按照某种规则计算相等则算验证正确,例如算数公式、字母、数字、中文等。这种字符验证码通常还会在图片上附加额外的干扰因素来干扰程序的自动识别,如在图片上加随机像素点、随机线条和随机的图片扭曲等。对于用户,这种验证码通常使用键盘来作为输入的媒介来输入字符。现今OCR技术(光学字符识别技术)已经发展得很成熟,对于普通的字符图片能够很容易识别出验证码图片上的字符,所以目前主流的字符验证码都通过额外的干扰因素来干扰程序的自动识别,如在图片上加随机像素点、随机线条和随机的图片扭曲等。但是这样做非但没有阻止程序自动识别出图片上的字母,反而让正常的用户看不清图片上的字母,提高了用户的错误率,对用户的使用体验影响非常大。
发明内容
针对现有技术中存在的上述问题,本发明提供一种图片验证码的识别方法,能够为用户带来良好的使用及视觉体验,且难以被破解。为此,本发明采用如下技术方案:
1、一种图片验证码的实现方法,其特征在于:包括如下步骤:
A、选取具有可分辨上、下和/或左、右方向的图片,并压缩成25*25px ~1000*1000 px的大小;
B、旋转图片方向;
C、将旋转后的图片返回客户端展示,并在服务器端保存正确的验证码结果;
D、用户根据客户端图片的方向点击来转动图片,在提交时将图片被旋转的信息也传回服务器端;
E、图片方向以数字来表示旋转结果传回服务器端,服务器根据图片被旋转的方向取模,并跟之前的缓存对比校验。
进一步地,在步骤B和步骤C之间还包括如下步骤:
F、对图片进行编码,以便存入缓存;
G、将预处理图片输出的编码字符串存入中心缓存;
H、各服务器按需从中心缓存中取得数据并存入服务器本地的二级缓存;
I、从二级缓存中取得N张编码后的图片(N≥1),并将N张图片拼成一张图片,以一张图片返回客户端展示,并保存正确的验证码结果到缓存。
优选地,步骤A中的图片压缩成50*50px~ 500*500px的大小。
作为更优,步骤A中的图片压缩成50*50px~ 200*200px的大小。
作为更优,步骤A中的图片压缩成64*64px或者75*75px的大小。
上述各段的表述中,“px”是Pixel的缩写,即像素。下文同。
优选地,步骤F中的编码为base64编码。
优选地,步骤I中N取值为2-8。
优选地,步骤I中N取值为3-5。
本发明具有如下优点:
1、可扩展和维护性好,可以对图片的数量和大小进行扩展,样式多样;
2、安全性高,目前的图像识别技术还很难识别出图片的方向,程序很难自动识别,难以破解;
3、对用户友善,用户只需点击鼠标来进行验证而不是通过传统键盘输入来进行验证。
附图说明
图1为本发明实施例的示范性流程图。
具体实施方式
下面结合图1与具体实施方式对本发明做进一步的说明。
如图1所示,一种图片验证码的实现方法,包括如下步骤:
A.选取具有可分辨上、下、左、右方向的图片,优选具有人物和景色的图片,并压缩成64*64px的大小;
B、旋转图片方向;
C、对图片进行base64编码,以便存入缓存;
D、将预处理图片输出的base64字符串存入中心缓存;
E、各服务器按需从中心缓存中取得数据并存入服务器本地的二级缓存;
F、从二级缓存中取得4张base64的图片,并将该4张图片拼成一张图片,以一张图片返回客户端展示,并保存正确的验证码结果到缓存;
G、用户根据客户端图片的方向点击来转动图片,在提交时将图片被旋转的信息也传回服务器端;
H、图片方向以数字来表示旋转结果传回服务器端,服务器根据图片被旋转的方向取模,并跟之前的缓存对比校验。
当然,本发明还具有其他实施方式,如对图片的编码方法还可以有其他的编码方法,原则上只要选取具有可辨别方向的图片并通过用户识别和旋转图片来达到身份验证即为本实现方法的保护范围,上述仅为本发明的较佳实施例,并非用来限定本发明的实施范围,凡依本申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。
Claims (8)
1.一种图片验证码的实现方法,其特征在于:包括如下步骤:
A、选取具有可分辨上、下和/或左、右方向的图片,并压缩成25*25px ~1000*1000 px的大小;
B、旋转图片方向;
C、将旋转后的图片返回客户端展示,并在服务器端保存正确的验证码结果;
D、用户根据客户端图片的方向点击来转动图片,在提交时将图片被旋转的信息也传回服务器端;
E、图片方向以数字来表示旋转结果传回服务器端,服务器根据图片被旋转的方向取模,并跟之前的缓存对比校验。
2.根据权利要求1所述的图片验证码的实现方法,其特征在于:在步骤B和步骤C之间还包括如下步骤:
F、对图片进行编码,以便存入缓存;
G、将预处理图片输出的编码字符串存入中心缓存;
H、各服务器按需从中心缓存中取得数据并存入服务器本地的二级缓存;
I、、从二级缓存中取得N张编码后的图片(N≥1),并将N张图片拼成一张图片,以一张图片返回客户端展示,并保存正确的验证码结果到缓存。
3.根据权利要求1所述的图片验证码的实现方法,其特征在于:步骤A中的图片压缩成50*50px~ 500*500px的大小。
4.根据权利要求1所述的图片验证码的实现方法,其特征在于:步骤A中的图片压缩成50*50px~ 200*200px的大小。
5.根据权利要求4所述的图片验证码的实现方法,其特征在于:步骤A中的图片压缩成64*64px或者75*75px的大小。
6.根据权利要求2所述的图片验证码的实现方法,其特征在于:步骤F中的编码为base64编码。
7.根据权利要求2所述的图片验证码的实现方法,其特征在于:步骤I中N取值为2-8。
8.根据权利要求7所述的图片验证码的实现方法,其特征在于:步骤I中N取值为3-5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310187991.4A CN103312695B (zh) | 2013-05-17 | 2013-05-17 | 一种图片验证码的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310187991.4A CN103312695B (zh) | 2013-05-17 | 2013-05-17 | 一种图片验证码的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103312695A true CN103312695A (zh) | 2013-09-18 |
CN103312695B CN103312695B (zh) | 2016-12-28 |
Family
ID=49137480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310187991.4A Active CN103312695B (zh) | 2013-05-17 | 2013-05-17 | 一种图片验证码的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103312695B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306208A (zh) * | 2014-07-21 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN107317805A (zh) * | 2017-06-21 | 2017-11-03 | 北京洋浦伟业科技发展有限公司 | 一种验证码验证方法及装置 |
CN107453876A (zh) * | 2017-08-02 | 2017-12-08 | 微梦创科网络科技(中国)有限公司 | 一种基于图片的验证码实现方法及装置 |
CN108156209A (zh) * | 2016-12-06 | 2018-06-12 | 腾讯科技(北京)有限公司 | 一种媒体推送方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006163A (zh) * | 2009-09-01 | 2011-04-06 | 阿里巴巴集团控股有限公司 | 用户验证方法、装置及服务器 |
-
2013
- 2013-05-17 CN CN201310187991.4A patent/CN103312695B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006163A (zh) * | 2009-09-01 | 2011-04-06 | 阿里巴巴集团控股有限公司 | 用户验证方法、装置及服务器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306208A (zh) * | 2014-07-21 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN105306208B (zh) * | 2014-07-21 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN108156209A (zh) * | 2016-12-06 | 2018-06-12 | 腾讯科技(北京)有限公司 | 一种媒体推送方法及系统 |
WO2018103653A1 (zh) * | 2016-12-06 | 2018-06-14 | 腾讯科技(深圳)有限公司 | 一种媒体推送方法及系统 |
CN108156209B (zh) * | 2016-12-06 | 2021-08-20 | 腾讯科技(北京)有限公司 | 一种媒体推送方法及系统 |
CN107317805A (zh) * | 2017-06-21 | 2017-11-03 | 北京洋浦伟业科技发展有限公司 | 一种验证码验证方法及装置 |
CN107453876A (zh) * | 2017-08-02 | 2017-12-08 | 微梦创科网络科技(中国)有限公司 | 一种基于图片的验证码实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103312695B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103605950B (zh) | 一种可信二维码中签名的隐藏方法及系统 | |
CN101201939B (zh) | 图片验证码生成方法和图片验证码生成系统 | |
CN105024967B (zh) | 一种利用验证图片识别游戏外挂的系统及方法 | |
CN103312695A (zh) | 一种图片验证码的实现方法 | |
CN104134030A (zh) | 一种基于活体指纹验证的网上银行安全认证方法 | |
CN101183458B (zh) | 图片验证码生成方法和图片验证码生成装置 | |
JP2008257701A (ja) | 認証システム | |
Dulera et al. | Experimenting with the novel approaches in text steganography | |
CN103379091A (zh) | 一种随机验证码 | |
CN104102868A (zh) | 一种基于人脸识别技术的多模态Usb Key认证的方法 | |
CN104899499A (zh) | 基于互联网图片搜索的Web验证码生成方法 | |
CN103150679A (zh) | 一种票据信息安全保护方法 | |
CN109635225A (zh) | 追踪浏览器信息的方法、装置、服务器及存储介质 | |
CN101763477B (zh) | 一种智能密钥装置的签名方法 | |
CN104426879A (zh) | 验证码生成和验证的处理方法及对应的方法、装置和系统 | |
CN103582890A (zh) | 更安全的基于图像的“captcha”技术 | |
US20130191641A1 (en) | Captcha (completely automated public test to tell computers and humans apart) data generation methods and related data management systems and computer program products thereof | |
CN102982603A (zh) | 一种基于虹膜识别的互联网彩票安全交易及兑奖方法 | |
CN110942322A (zh) | 优惠券领取界面截图的防伪方法、系统、电子设备和介质 | |
CN103955634A (zh) | 基于数字水印技术的针对瓦片遥感数据的版权保护方法 | |
CN102750892A (zh) | 视频验证码广告系统 | |
CN103632070B (zh) | 用于支付系统的手写任意图形密码方法 | |
CN109495275A (zh) | 生成随机验证码的设置方法 | |
CN116305294B (zh) | 数据泄露溯源方法、装置、电子设备及存储介质 | |
CN106778568B (zh) | 基于web页面的验证码的处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |