本文来自网易云社区

“Question”为网易云易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑。如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.netease.com)提问。

关于验证码的使用,大家也许会遇到各类问题,这里以Q&A形式总结的一些常见问题,希望对各位读者有所帮助。

Q1:验证码有什么作用?

验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。

区分人机行为的作用不言而喻。互联行为的注册、登录、发帖、领优惠券、投票等等应用场景,都有被机器刷造成各类损失的风险,如果不对各类机器垃圾的行为加以防范,灌水内容、垃圾注册、恶意登录、刷票、撞库、活动作弊、垃圾广告、爬虫、羊毛党等用户行为一旦发生,将对产品自身发展、用户体验造成极大的影响。

目前常见的验证码形式多为图片验证码,即数字、字母、文字、图片物体等形式的传统字符验证码。这类验证码看似简单易操作,但实际用户体验较差(参见12306网站),且随着OCR技术和打码平台的利用,图片比较容易被破解,被破解之后就形同虚设。

Q2:滑动验证码的原理是什么?

滑动验证码可以显著优化用户体验,这在互联网时代是非常重要的。滑动验证码对机器的判断,不只是完成拼图,前端用户看不见的是——验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果,故而机器识别+模拟不易通过。滑动验证码也不是万无一失,但对滑动行为的模拟需要比较强的破解能力,毕竟还是大幅提升了攻击成本,而且技术也会在攻防转换中不断进步。

Q3:行为式验证码的前景如何?

先说一下什么是行为式验证码:行为式验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机判定结果。

行为式验证码与传统验证码的区别:

1)传统验证码技术不足

传统验证码用户体验不佳,需要进行一系列操作才能完成。用户需要每天都要花部分时间浪费在无趣的识别数字上,也大大降低了一些网站的交互体验。同时,随着计算机自动识别技术的发展,简单的验证码数字图形也不再安全,很容易被黑客攻破。

2)行为式验证码的优势-综合判断

行为验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机判定结果。

3)行为式验证码的优势-迭代性

行为验证码具备运用大数据分析和机器学习模型进行优化升级的作用。路径可以理解为:验证码展示-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了行为式验证码的不断迭代升级。

行为验证码的推广,保证了网易易盾验证码在和机器刷子进行抗衡过程中不断更新迭代,从而能够持续提升系统性能,保证识别效果。

行为验证码具备运用大数据分析和机器学习模型进行优化升级的作用。路径可以理解为:验证码展示-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了网易易盾行为式验证码的不断迭代升级。

Q4:怎样防止恶意刷短信验证?

在讨论防止恶意短信验证之前,我们先来看看什么是恶意短信验证及出现的原因。

恶意短信验证,属于短信轰炸的一种,用户端表现为高频收到验证短信内容,用户体验差。对公司来讲,大量的恶意短信验证,既增加公司运营成本,支付额外的短信运营费用,又会影响产品口碑,损失用户。

防止这种恶意行为,方式之一是可以增加验证码校验。发送短信验证码时,可要求输入图片验证码,验证码校验可实现人机识别,同时在验证码请求错误时,可重置验证码,防止图片验证码识别软件尝试多次识别。

Q5:是否能单纯用 JS 来实现验证码?

JS可以实现验证码,但有相当多的弊端。JS实现验证码,是客户页面的验证信息的直接验证,完全由客户端实现。其弊端在于JS操作可以通过机器模拟,模拟数据如果没有服务端验证,则仍是无效的。最终提供验证的,其实是在服务端,不能单纯用JS来实现验证码。目前验证码的技术更新换代快。

Q6:点触验证码能成为新的互联网验证码标准吗?

对于国内各大网站来说,机器账号灌水发垃圾广告是一件非常令人头疼的事情。当然很多网站也有相应的解决方案,但是最好的解决方案应该是通过多重加密的新型验证码严防机器账号注册。这一切的前提是:在不影响正常用户的体验下进行。点触是一种新形式的验证码,利用点击和拖动的动作完成验证:,这已经成为了各大网站最喜欢的验证方式。

对于网站来说,这种验证方式是一种无感知的安全措施。未来,就是优化用户体验,逐渐减少用户在这方面的感知。

Q7:验证码真的能防止盗号吗?

不能。验证码的作用在于区分人和机器,防止被暴力破解,提高破解密码的难度。人工盗号很难通过验证码实现甄别,但在防止机器撞库方面有重要地位。

点击免费试用网易云易盾行为式验证码。

相关文章:
【推荐】 关于扁平化视觉设计趋势的一些小分享

Question | 你所遇到的验证码问题可能都在这里了的更多相关文章

  1. 用Canvas生成随机验证码(后端前端都可以)

    一 .使用前端生成验证码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  2. Kafka实践、升级和新版本(0.10)特性预研

    本文来自于网易云社区 一.消息总线MQ和Kafka (挡在请求的第一线) 1. 几个应用场景 case a:上游系统往下游系统推送消息,而不关心处理结果: case b:一份新数据生成,需要实时保存到 ...

  3. 用Go编写的本地文件服务器

    本文来自网易云社区,转载务必请注明出处. 一.前言 一切问题的起源就是来自一个问题"为什么我打的jar包没有注解?",带着这个疑问查了一圈资料,原来问题主要是在没有将源码中的注释进 ...

  4. 简单爬虫,突破IP访问限制和复杂验证码,小总结

    简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html   好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有 ...

  5. Web UI自动化测试中绕开验证码登陆方式浅谈

    web自动化测试中让测试者感到困惑的是登陆验证码,每次都不一样.现在推荐一种绕开验证码登陆的方式,其实就是将web浏览器获取的登陆cookie加载到程序中就可以了,这样程序就会认为你已经登陆,就可以跳 ...

  6. 【腾讯Bugly干货分享】腾讯验证码的十二年

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/581301b146dfb1456904df8d Dev Club 是一个交流移动 ...

  7. Android学习笔记之短信验证码的获取和读取

    PS:最近很多事情都拖拖拉拉的..都什么办事效率啊!!! 还得吐槽一下移动运营商,验证码超过五次的时候,直接把我的手机号封闭.真是受够了. 学习笔记: 1.Android之如何获取短信验证码. 2.如 ...

  8. 看了这篇文章,Java编程速度我都惊呆了

    熟记于心,打遍天下,(开始装了) 保存 Ctrl+s                    (这个就不用解释了吧!!!!) 注释代码 Ctrl+/ 取消注释 Ctrl+/代码辅助 Alt+/ 快速修复 ...

  9. 【Dev Club 分享】腾讯验证码的十二年

    源:http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653578147&idx=3&sn=94a8f8f8b4a23 ...

随机推荐

  1. 一切皆文件-文件是对IO的最简抽象

    引用<Linux Kernel Development>原书里面的一句话 in Unix, everything is a file.This simplifies the manipul ...

  2. UVa 1349 - Optimal Bus Route Design(二分图最佳完美匹配)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. C/C++心得-从内存开始

    因工作与自身各方面需要,开始重新学C,其实说重新也不太准,原来只是大学里面接触过,且还未得多少精髓就转其他开发,不过也正是因此才有了重新学习的必要,基础部分的心得将通过博文记录下来,对于初学者应该有些 ...

  4. jquery分页例子

    先看效果图: 实现原理很简单,使用了jquery.pagination这个插件,每当点击页码时异步去服务器去取该页的数据,简单介绍如下: 一.数据库表结构:很简单  就四个字段 分别是News_id  ...

  5. 手绘web原型设计的感受

    当下有许多流行的Web原型设计工具,比如mockplus等,mockplus在我们团队初次开发rms系统用到过,确实还不错,但是,原型工具有其优势也有其劣势. 礼拜一开会时,经理跟我说,觉得现在的LM ...

  6. iOS之序列化与反序列化

    所谓的序列化和反序列化就是将数据结构或对象和二进制串之间相互转换的过程: 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘 ...

  7. mybatis if 语句嵌套

    在使用mybatis的时候,可以在 if 标签下面加上if标签. 比如要对这个sql语句进行改进. select a.* from emp a inner join dept b on a.deptn ...

  8. Redis支持的五种数据类型

    redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...

  9. RAID磁盘阵列的原理

    RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意.磁盘阵列是由很多价格较便宜的磁盘,以硬件(R ...

  10. Python入门 —— 03GUI界面编程

    GUI(Graphical User Interface) 即图形用户接口,又称图形用户接口. 是指采用图形方式显示的计算机操作用户界面.GUI 是屏幕产品的视觉体验和互动操作部分. "你的 ...