本文来自网易云社区html
“Question”为网易云易盾的问答栏目,将会解答和呈现安全领域你们常见的问题和困惑。若是你有什么疑惑,也欢迎经过邮件(zhangyong02@corp.netease.com)提问。
前端
关于验证码的使用,你们也许会遇到各种问题,这里以Q&A形式总结的一些常见问题,但愿对各位读者有所帮助。缓存
Q1:验证码有什么做用?
安全
验证码做为一种人机识别手段,其终极目的,就是区分正常人和机器的操做。
机器学习
区分人机行为的做用不言而喻。互联行为的注册、登陆、发帖、领优惠券、投票等等应用场景,都有被机器刷形成各种损失的风险,若是不对各种机器垃圾的行为加以防范,灌水内容、垃圾注册、恶意登陆、刷票、撞库、活动做弊、垃圾广告、爬虫、羊毛党等用户行为一旦发生,将对产品自身发展、用户体验形成极大的影响。
性能
目前常见的验证码形式多为图片验证码,即数字、字母、文字、图片物体等形式的传统字符验证码。这类验证码看似简单易操做,但实际用户体验较差(参见12306网站),且随着OCR技术和打码平台的利用,图片比较容易被破解,被破解以后就形同虚设。学习
Q2:滑动验证码的原理是什么?
大数据
滑动验证码能够显著优化用户体验,这在互联网时代是很是重要的。滑动验证码对机器的判断,不仅是完成拼图,前端用户看不见的是——验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机断定结果,故而机器识别+模拟不易经过。滑动验证码也不是万无一失,但对滑动行为的模拟须要比较强的破解能力,毕竟仍是大幅提高了攻击成本,并且技术也会在攻防转换中不断进步。优化
Q3:行为式验证码的前景如何?
网站
先说一下什么是行为式验证码:行为式验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机断定结果。
行为式验证码与传统验证码的区别:
1)传统验证码技术不足
传统验证码用户体验不佳,须要进行一系列操做才能完成。用户须要天天都要花部分时间浪费在无趣的识别数字上,也大大下降了一些网站的交互体验。同时,随着计算机自动识别技术的发展,简单的验证码数字图形也再也不安全,很容易被黑客攻破。
2)行为式验证码的优点-综合判断
行为验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机断定结果。
3)行为式验证码的优点-迭代性
行为验证码具有运用大数据分析和机器学习模型进行优化升级的做用。路径能够理解为:验证码展现-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了行为式验证码的不断迭代升级。
行为验证码的推广,保证了网易易盾验证码在和机器刷子进行抗衡过程当中不断更新迭代,从而可以持续提高系统性能,保证识别效果。
行为验证码具有运用大数据分析和机器学习模型进行优化升级的做用。路径能够理解为:验证码展现-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了网易易盾行为式验证码的不断迭代升级。
Q4:怎样防止恶意刷短信验证?
在讨论防止恶意短信验证以前,咱们先来看看什么是恶意短信验证及出现的缘由。
恶意短信验证,属于短信轰炸的一种,用户端表现为高频收到验证短信内容,用户体验差。对公司来说,大量的恶意短信验证,既增长公司运营成本,支付额外的短信运营费用,又会影响产品口碑,损失用户。
防止这种恶意行为,方式之一是能够增长验证码校验。发送短信验证码时,可要求输入图片验证码,验证码校验可实现人机识别,同时在验证码请求错误时,可重置验证码,防止图片验证码识别软件尝试屡次识别。
Q5:是否能单纯用 JS 来实现验证码?
JS能够实现验证码,但有至关多的弊端。JS实现验证码,是客户页面的验证信息的直接验证,彻底由客户端实现。其弊端在于JS操做能够经过机器模拟,模拟数据若是没有服务端验证,则还是无效的。最终提供验证的,实际上是在服务端,不能单纯用JS来实现验证码。目前验证码的技术更新换代快。
Q6:点触验证码能成为新的互联网验证码标准吗?
对于国内各大网站来讲,机器帐号灌水发垃圾广告是一件很是使人头疼的事情。固然不少网站也有相应的解决方案,可是最好的解决方案应该是经过多重加密的新型验证码严防机器帐号注册。这一切的前提是:在不影响正经常使用户的体验下进行。点触是一种新形式的验证码,利用点击和拖动的动做完成验证:,这已经成为了各大网站最喜欢的验证方式。
对于网站来讲,这种验证方式是一种无感知的安全措施。将来,就是优化用户体验,逐渐减小用户在这方面的感知。
Q7:验证码真的能防止盗号吗?
不能。验证码的做用在于区分人和机器,防止被暴力破解,提升破解密码的难度。人工盗号很难经过验证码实现甄别,但在防止机器撞库方面有重要地位。
相关文章:
【推荐】 Spring缓存穿透问题修复