转载自:http://blog.csdn.net/attilax/article/details/7933705
目前,许多网站已经有了验证码,但是许多验证码仅仅是简单的生成,一些简单的干扰点,或者一些简单的背景。。。这些验证码可以说对于注册机来说无任何意义,可以程序很容易识别
你需要对照以下标准检查你的验证码强度:
1.仅仅是一张简单的图片,PASS。
2.加了一些一些简单的干扰点,基本无用
3.一些简单的背景,也是基本无用
4.一些简单的线条,基本无用
5.文字没有变形扭曲
6.文字没有旋转方向
7.只有4个字母
8.只有一行..
9.验证码图片不是实时生成的,而是用有限的图片,很容易被人把库拉下来。。
10.图片文字与文字是分离的,没有粘连在一起..
11.从来没用验证码识别程序验证过强度
以上10个都是低强度验证码的特点,网站上用了这样的验证码,可以说相当于没用..就算是GOOGLE等比较难识别的验证码,也会被deathbycaptcha等人工打码的项目轻易识别...
还有一些验证码是比如3*8=? 这一类型的,这一类的如果答案在三个数及以下,可以说也是基本无太大用
还有一些是用汉字验证码,如果加以技术处理,让机器无法识别,也确实可以让deathbycaptcha等人工打码无法识别(只能识别英文数字),但是用户体验就差了。特别是用户当中有不识汉字的人..不太适合普遍情况。。
我们的目标是机器无法识别,deathbycaptcha等人工打码也无法识别...
1.使用手机来获取验证码,这样可以彻底避免上述问题..如果不可,用以下的方法
2.图片要有变形,如果可能用手写体,然后扫描上传切割。。显示拼接时需要再次变形
3.图片要实时生成,绝对不可以用库
4.文字要旋转方向
5.验证码提高到6位
6.文字要粘连在一起
7.增大干扰点与线条
8.使用复杂背景
9.使用框架文字,文字是一个框架形式,中间镂空
10.使用图案拼接文字,如用几个不同水果接成一个字母
11.验证码要保存在SESSION中,不要使用未加密COOKIE
12.显示图片时使用FLASH显示,防止被复制,通过HTTP传输图片时要加密
13。使用一款验证码识别工具进行检测,要将识别率降到1%以下..
经过以上处理,基本上可以对付程序识别了,但是仍然可以被deathbycaptcha等人工打码识别..接下来就要让人工打码也无法识别..仔细研究deathbycaptcha的缺点..发现汉字是无法识别,但是这个因为用户体验问题,只能使用英文和数字..
a.生成一付图片,上下左右各一个6位数验证码..
b.一个特殊FLASH指明用户输入上下左右其中一个验证码..此FLASH也要做防破解工作
c.输入验证码的控件使用FLASH做个安全加密输入框,其中内容加密..
这样,可以防止被deathbycaptcha等人工打码识别..因为图片与指示相分离了。只有网站用户可以看到指示。。。
分享到:
相关推荐
在本项目中,我们将探讨如何使用QT来实现自动生成验证码的动画效果,并添加干扰元素,以增加安全性。 首先,验证码是网络安全中常用的一种验证手段,它用于防止自动化的机器人程序或恶意用户进行非法操作。在QT中...
在Android应用开发中,生成验证码和二维码是常见的功能,用于增强用户验证的安全性和提供便捷的信息传递方式。这个压缩包文件“Android应用源码--生成验证码和二维码.zip”包含了一个实现这两种功能的示例项目,主要...
验证码生成工具类是一种在Web应用中广泛使用的安全机制,它主要用于防止自动化的恶意操作,比如机器人注册、垃圾邮件发送等。这个工具类是用Java语言...理解和实现这样的工具类有助于提升开发者在安全性方面的技能。
这个“随机生成验证码工具jar包”是一个Java编写的程序库,它能够帮助开发者快速地在他们的应用中集成验证码功能。让我们深入了解一下这个jar包以及与之相关的Java和jar文件的知识。 首先,Java是一个广泛使用的...
2. **自定义字体**:工具允许开发者选择不同的字体样式,这样生成的验证码更难以被预先训练的模型破解,增加安全性。 3. **字符数量设定**:可以根据安全需求设置验证码包含的字符数量,通常4到6位的长度既能保证...
结合Ajax技术和中文验证码,我们可以创建一个既高效又安全的验证流程,既减少了页面刷新带来的用户体验损失,也提升了系统的安全性。在实际应用中,还可以根据需求考虑增加其他功能,如定时更换验证码、点击刷新...
验证码是一种常用的网络安全机制,用于防止自动化程序(如机器人或爬虫)进行非法操作,比如注册、登录...理解和实现这个过程对于提升网站安全性至关重要。同时,验证码识别技术的发展也展示了网络安全领域的持续演变。
页面JS生成验证码是一种常见的网页安全措施,用于...总的来说,页面JS生成验证码是一个涉及前端开发、图像处理和安全策略的综合问题。通过实践和学习,开发者可以创建出既美观又安全的验证码系统,提升网站的安全性。
cpp-captcha是一个基于Node.js的库,专为生成验证码而设计。它利用C++的性能优势,为JavaScript环境提供了一个高效、轻便的解决方案。不同于依赖于ImageMagick或canvas等图形库的其他验证码生成工具,cpp-captcha不...
在这个验证码案例中,可能有一个名为`VerifyCodeAction`的类,负责生成验证码并将其存储到服务器端。 2. **ActionForm**:虽然在Struts 2中已经不强制使用,但在Struts 1中,ActionForm用于封装用户输入的数据。在...
在生成验证码的过程中,主要有以下几个关键步骤: 1. **随机生成数据**: - 验证码通常由字母、数字或者中文字符组成。易语言中可以使用内置的随机数生成函数,如 `随机数()`,配合指定范围,生成随机的整数或...
3. **安全存储**:生成的验证码值会存储在一个安全的地方,如服务器端的session,以便用户提交验证时进行比对。 ### 核心组件 - **Generator**:负责生成验证码文本或数学问题,可以自定义实现以满足特定需求。 - *...
在Struts2中生成验证码可以帮助提升网站的安全性,防止恶意注册、自动登录和其他攻击。 生成验证码主要涉及以下几个步骤: 1. **安装库**:首先,我们需要一个验证码生成库。例如,我们可以使用Apache Commons ...
验证码(CAPTCHA)是一种用于验证用户是否为人类的技术,常用于防止自动化程序(如机器人)进行恶意操作,如...通过阅读提供的示例和教程,开发者可以快速地将`kaptcha`整合进自己的Java Web项目中,提升网站的安全性。
这个“PHP超强验证码-合集”提供的示例代码和资源可以帮助开发者快速理解和实现各种类型的PHP验证码,提升网站的安全性,同时平衡用户体验。通过深入研究和实践,你可以根据自己的项目需求定制出高效、安全的验证码...
验证码技术也在不断进化,例如滑动验证码、点击验证码等,这些都是为了在保证用户体验的同时,提高安全性。然而,基础的随机字符验证码仍然是许多Web应用的首选,因为它的实现相对简单且效果良好。理解并能实现这样...
在IT行业中,动态验证码是一种广泛应用于网站安全...熟练掌握这些技术,不仅可以提升Web应用的安全性,也有助于开发者对Java EE体系的深入理解。通过实践和不断的优化,我们可以创建出更加安全、用户友好的验证码系统。
本篇文章将详细探讨一个名为"Go-Golang验证码生成库"的工具,它支持多种类型的验证码,包括数字、字母、算术以及音频和数字字母组合。 首先,验证码生成库是Web应用中防止机器自动化攻击的重要工具。这个Go库为...
在实际应用中,还可以根据需要增加更多的复杂性,比如动态加载字体、使用更复杂的噪声模式,或者结合时间因素使验证码具有时效性,进一步提升安全性。同时,考虑到用户体验,验证码应尽可能保持在人类可读的范围内,...
通过理解和实践这个PHP动态随机生成验证码类,开发者可以提升网站的安全性,同时也为自己的技能树增添一项实用技术。了解验证码的生成原理和实现方式,有助于在遇到类似需求时快速构建自己的解决方案,或者优化现有...