网页的验证码的字母为什么总是那么难辨认
欢迎访问网易云社区,了解更多网易技术产品运营经验。
首先来谈谈验证码的机制,验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。而对于没有验证码的场景,比如用户登陆,则机器可以同时、大批量的发起请求,一来系统可能扛不住,二来机器可以不断变换密码来尝试破解用户的密码,实现盗号。
虽然,图形类的验证码都是要求输入字符和数字,但看似只是简单的几个输入操作,而实际是人非常聪明,在人已知的知识体系下,能快速识别图片中的文字。
而如果要机器来完成这个过程,则必须要让机器能识别出图片中的内容,亦即机器必须要有OCR的本领,这个本领是需要算法支持的,就和人首先要识字一样,否则人也打不出图形验证码中的内容。
然而,现在已有的OCR技术,识别图形验证码中的内容已经完全足够,所以,图形验证码非常容易破解。为了应付这种情况,很多网站加大验证码识别难度,复杂的验证码甚至让用户都很难识别了,这种方式劣势十分明显,糟糕的用户体验最终会让网站流失用户,这便是为什么有人吐槽12306网站的验证码的原因了。
幸运的是现在市面上也出现了多种多样的智能验证码,这种验证码不管是从安全性、还是用户体验上,比图形验证码都要好很多。常见的有:滑动拼图验证码、图中点选验证码、智能无感知等,其背后的原理除了对滑块起始位置的认知、图中文字及其顺序的认知外,实际还会基于在页面上的操作行为、操作轨迹,以及当前设备的指纹、所运行的环境等维度进行大数据分析,并利用有监督和无监督的机器学习手段,不断升级和优化模型,不断提供破解的成本,保证人机识别的效果。
目前,网易易盾的验证码体系已进行多次升级,从常规验证码体系(滑动拼图、图中点选、短信上行验证),到最新的行为式验证码,包括类似google reCAPTCHA的无感知验证码均已支持。点击可免费试用
相关文章:
【推荐】 “代码变更覆盖率”在后端测试中的实践