zoukankan      html  css  js  c++  java
  • 为什么很多网站的验证码都设置得肉眼都很难识别?

    欢迎访问网易云社区,了解更多网易技术产品运营经验。


    首先来谈谈验证码的机制,验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。而对于没有验证码的场景,比如用户登陆,则机器可以同时、大批量的发起请求,一来系统可能扛不住,二来机器可以不断变换密码来尝试破解用户的密码,实现盗号。


    虽然,图形类的验证码都是要求输入字符和数字,但看似只是简单的几个输入操作,而实际是人非常聪明,在人已知的知识体系下,能快速识别图片中的文字。


    而如果要机器来完成这个过程,则必须要让机器能识别出图片中的内容,亦即机器必须要有OCR的本领,这个本领是需要算法支持的,就和人首先要识字一样,否则人也打不出图形验证码中的内容。


    然而,现在已有的OCR技术,识别图形验证码中的内容已经完全足够,所以,图形验证码非常容易破解。为了应付这种情况,很多网站加大验证码识别难度,复杂的验证码甚至让用户都很难识别了,这种方式劣势十分明显,糟糕的用户体验最终会让网站流失用户,这便是为什么有人吐槽12306网站的验证码的原因了。


    幸运的是现在市面上也出现了多种多样的智能验证码,这种验证码不管是从安全性、还是用户体验上,比图形验证码都要好很多。常见的有:滑动拼图验证码、图中点选验证码、智能无感知等,其背后的原理除了对滑块起始位置的认知、图中文字及其顺序的认知外,实际还会基于在页面上的操作行为、操作轨迹,以及当前设备的指纹、所运行的环境等维度进行大数据分析,并利用有监督和无监督的机器学习手段,不断升级和优化模型,不断提供破解的成本,保证人机识别的效果。


    目前,网易易盾的验证码体系已进行多次升级,从常规验证码体系(滑动拼图、图中点选、短信上行验证),到最新的行为式验证码,包括类似google reCAPTCHA的无感知验证码均已支持。点击可免费试用


    相关文章:
    【推荐】 AndroidApp的破解技术有哪些?如何防止反编译?

  • 相关阅读:
    log4j(二)——如何控制日志信息的输出?
    Java生成指定范围内的工具类
    JavaBean和Map转换封装类
    cron表达式详解
    数据库主键按照固定前缀生成工具类
    邮件发送工具类
    NFC
    牛逼辩论
    快速排序
    希尔排序
  • 原文地址:https://www.cnblogs.com/zyfd/p/10031358.html
Copyright © 2011-2022 走看看