验证码作为一种人机识别手段,其主要作用是区分正常人和机器的操作,拦截恶意行为,图片验证码是一种常见的验证形式。本文主要介绍了图片验证码验证机制、设计原则以及图片验证码防破解的方法。
1.图片验证码验证机制
图片验证码是指根据一定的随机数生成算法来产生的一串随机数字或符号,并加入一些干扰像素,最终生成相应的用于验证的图片。 它的基本流程就是:用户在输入用户名和密码等信息之后,同时输入图片上的字符或者答案并将其提交。系统首先会从session中提出刚刚随机生成的验证码,然后与用户输入的验证码进行比较,如果相同,表示用户是合法的。
2.图片验证码设计原则
为了抵抗机器攻击,同时又不影响用户体检,在验证码设计中,良好的图片验证码一般要遵循以下原则:
(1)安全性高,图形算法足够强,可以抵御抵御计算机程序的自动识别,能够抵抗新技术的非法攻击;
(2)人可以容易理解识别,用户能够快速通过验证;
(3)验证流程方便、快速,计算机程序快速自动产生验证码,并完成校验。如果验证码的显示用户看不清,则可以在seesion内重新生成随机数,重新返回验证图像。
3.图片验证码如何防破解?
根据图片验证码设计原则,可以通过以下方式增加图片验证码的识别难度,降低被破解率:
(1)图片验证码添加干扰点,干扰线,或添加带有干扰元素的图片背景;
(2)随机码字符相互连接甚至部分重叠,人眼可以很容易分辨出字符,但是计算机工具等难以分割识别;
(3)扭曲图片上的字符,使随机码变形不规则,增加机器的识别难度;
为了增加图片验证码的破解难度,必须加大干扰强度,根据经验,采取下列干扰模式是最有效的:随机渐变色(包括文字和背景) 随机变化字符大小/位置 象素行或列随机错位,这样可以有效抵御计算机程序的识别。另外,如果要有效防止在线穷举破解,还可以限制帐户或单ip的访问请求,在用户若干次密码输入错误后,锁定该帐户一段时间,使在线破解失效。
道高一尺魔高一丈,验证码在的攻击和防御的不断迭代中改进,近几年随着ocr、神经网络技术发展,图片验证码的破解率也越来越高。随着技术的进步,也衍生出用户体验好、安全性更高的行为式验证码。行为式验证码采用验证码展示-采集用户行为-分析用户行为流程,用户只需要产生指定的行为轨迹,不需要键盘手动输入,极大优化了用户体验;同时验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果,优化了传统验证码基于单一字符维度容易被暴力破解的问题。点击免费试用网易易盾行为验证码
相关阅读:
参考文献:【1】唐娅琴,《验证码的设计与破解探讨》
【2】洪伟铭,《验证码的原理及实现方法》
【声明】文章来源于网上采集整理,如有侵权,请邮件反馈yidunmarket@126.com,我们将尽快核实修改。