文档章节

详解滑动验证码的实现原理

江边望海
 江边望海
发布于 2017/06/26 10:45
字数 1327
阅读 629
收藏 0
点赞 0
评论 0

早期的互联网是没有验证码的,随着后来计算机程序的发展,黑客编写了模仿登录、恶意破解密码、刷票、论坛灌水等恶意程序,破坏了整个网络的平衡性。于是验证码这种验证是否是人工操作的检验机制便产生了。随着验证码的出现,它可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试等等,给互联网带来了一定的安全性。

科技在进步,黑客也在进步。验证码在发展的过程中遭遇了很大的批评。早期的图片验证码在随着OCR技术的发展,已越来越不可靠。因此新一代的验证码就诞生了。例如:12306的选图验证码,淘宝的滑动验证码,极验验证码短信验证码语音验证码等。这些验证码的效果都不是很理想,比较繁琐。而淘宝推出的滑动验证码,深受大家好评。而滑动验证码的原理是什么呢?我们今天来详细的讨论讨论!

验证码的分类

  • Gif动画验证码
    主流验证码通过提供静态的图片,比较容易被ocr软件识别,
    有的网站提供GIF动态的验证码图片, 使得识别器不容易辨识哪一个图层是真正的验证码图片,可以提供清晰的图片的同时,可以更有效得防止识别器的识别,据统计,动画gif验证码的防垃圾注入可以达到100%,是一个非常有效的验证码创新模式。同时gif动画效果可以有多达百种,也可以增加网站页面的美观效果。
  • 手机短信验证码
    手机验证码是通过发送验证码到手机,大型网站尤其是购物网站,都提供有手机短信验证码功能,可以比较准确和安全地保证购物的安全性,验证用户的正确性,是最有效的验证码系统。某些验证码接入商提供手机短信验证码服务,各网站通过接口发送请求到接入商的服务器,服务器发送随机数字或字母到手机中,由接入商的服务器统一做验证码的验证。
  • 手机语音验证码
    您是否遇到过您的网站用户或会员经常因为各种原因收不到网站的验证码,或新用户注册收不到短信没有耐心就直接放弃了您的网站,或因为验证码的问题体验不佳流失掉老客户和潜在新客户呢?
    现在,语音验证码的出现把这些问题一下统统解决了,您再也不用为验证码的问题而烦恼了。只要用户的手机或座机能正常接听电话,就一定能收到语音验证码,验证码实现自动语音播报,同时短信也能同时发送到用户手机,实现双保险确保万无一失。语音验证码如果有拨通失败的,系统还能自动重播,确保不漏掉任何一个,从根本上解决您的网站用户收不到验证码的问题。
  • 视频验证码
    视频验证码是验证码中的新秀,视频验证码中随机数字、字母和中文组合而成的验证码动态嵌入到MP4,flv等格式的视频中,增大了破解难度。验证码视频动态变换,随机响应,可以有效防范字典攻击、穷举攻击等攻击行为。视频中的验证码字母、数字组合,字体的形状、大小,速度的快慢,显示效果和轨迹的动态变换,增加了恶意抓屏破解的难度。其安全度远高于普通的验证码,而且这种验证码形式使用户不会感到枯燥,由于其提高了机器识别的难度从而可以降低用户识别的难度,使得用户更容易辨认。
  • 滑动验证码
    滑动验证码产生于最近两年。由于12306的选图验证码实现太过复杂,成本太高,不可大力推广,而且一定程度上加大了买票的力度,饱受非议。因此淘宝推出了滑动验证码以及后来的极验验证码。

滑动验证码的实现原理

淘宝的滑动验证码已经推出来,在开发社区里便引起了注意。知乎里更是聚集了大量高手进行回复。《淘宝滑动框验证实现原理?》、《淘宝在找回密码时,需要向右滑动验证,原理是?》。综合来说:滑动验证码是根据人在滑动滑块的响应时间,拖拽速度,时间,位置,轨迹,重试次数等来评估风险。其系统间交互流程如下图所示:

© 著作权归作者所有

共有 人打赏支持
江边望海
粉丝 26
博文 112
码字总数 57841
作品 3
郑州
技术主管
ViewPager 详解(一)---基本入门

相关文章: 1、《ViewPager 详解(一)---基本入门》 2、《ViewPager 详解(二)---详解四大函数》 3、《ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同》 4、《V...

微笑的江豚 ⋅ 2016/08/30 ⋅ 0

淘宝滑动验证码研究

悠闲的时候,总会去找些事做做。前些天在登录淘宝的时候,发现了滑动验证码,虽然已经不是什么新事物,但还是产生了很大的兴趣。 传统的字符输入验证码,变为了滑动验证码,这一看就是产品大...

李朝强 ⋅ 2016/06/21 ⋅ 0

验证码的前世今生(今生篇)

看完《验证码的前世今生(前世篇)》也许第一感觉就是Winter is coming,互联网的人机对抗到了最黑暗的时刻。柳暗花明又一村,最黑暗的时刻也是光明即将来临的时刻——在传统验证码的末日新的...

阿里聚安全 ⋅ 2016/11/02 ⋅ 0

使用 jQuery, Angular.js 实现登录界面验证码详解

写在前面: 前段事件,做了一个用ajax后台异步交互的登录功能,自己在上面加了一个验证码的功能,这个功能背后的原理挺好理解的,实现起来也十分简单,特此写波分享,,自己写的过程中踩了不...

OB丶Koro1 ⋅ 2017/04/26 ⋅ 0

Android-自定义View

Android 之自定义 View 的死亡三部曲之 Measure 我还不知道你的三围呢(你要占多少屏幕),我怎么能轻易让你出场呢? Android 自定义 View,ViewGroup(一)的一些原理与细节, 定义 Recycler...

掘金官方 ⋅ 01/03 ⋅ 0

python 淘宝系列(一):模拟登陆

前言 想实现python登录淘宝,大概有两种思路:1. 使用淘宝开放API接口; 2.使用模拟登陆发送post 数据登录。 两种方式各有优缺点。使用淘宝API,首先得装API库,比较大,有200多M,对小程序而...

艾柯 ⋅ 2014/01/07 ⋅ 8

自定义控件原理详解(控件、画图)

思路: 1.先了解继承View实现自定义控件原理 2.深入探究涉及到的方法 3.通过SwitchButton实例进行分析 第一步:原理 自定义View控件,首先确定控件的大小范围onMeasure()来实现;【控件大小范...

martin_dudu ⋅ 2016/01/23 ⋅ 1

自适应兼容移动端的验证码插件--Verify.js

Verify 是一款开源,免费的验证码插件,自适应兼容移动端。支持常规验证码、运算验证码、滑动验证码、拼图验证码、选字验证码。 常规验证码:由数字和字母构成,用户输入不区分大小写,可变形...

Hibear ⋅ 2017/11/16 ⋅ 0

Android 滑动效果高级篇(七)—— 华丽翻页效果

本示例介绍翻页效果,借鉴参考【何明桂的小窝】的博客,效果图如下: 感兴趣的朋友,可以查看【参考推荐】,原博客把原理和实现,已经讲得很清楚了,在此不再重复 本示例源码下载如下: 源码...

长平狐 ⋅ 2013/01/06 ⋅ 0

php如何实现验证码

验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现...

snowing1990 ⋅ 2016/04/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 17分钟前 ⋅ 0

数据仓库技术概述(一看就是架构师写的,对我极其有用)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于...

gulf ⋅ 18分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 20分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 24分钟前 ⋅ 0

vue获取input输入框的数据

用惯了jQuery,突然使用vue感觉很不习惯,有很多不同的地方,感觉是两个不同的思想来写前端的代码。jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作。而Vue则是通过...

王子城 ⋅ 26分钟前 ⋅ 0

竟然这就是面向对象的游戏设计?!

从程序角度考虑,许多 JavaScript 都基于循环和大量的 if/else 语句。在本文中,我们可了解一种更聪明的做法 — 在 JavaScript 游戏中使用面向对象来设计。本文将概述原型继承和使用 JavaSc...

柳猫 ⋅ 31分钟前 ⋅ 2

git cmd git bash

刚用到了Git,看到windows环境下有两个命令输入窗口 第一个是可视化图形界面,第二个是CMD,第三个是Bash。 Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。所以建议在使用的...

东东笔记 ⋅ 33分钟前 ⋅ 0

分布式系统CAP和Base

1、分布式系统 1.1 简介 由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的...

xixingzhe ⋅ 44分钟前 ⋅ 0

查看磁盘占用情况

记一次jenkins构建失败的问题 Build step 'Send build artifacts over SSH' changed build result to UNSTABLE 网上查资料都没明确表明是什么错,回忆之前处理这样的问题。第一时间想到的是不...

ManderSF ⋅ 45分钟前 ⋅ 0

数据库管理提速:SQL解析的探索与应用

前言: SQL解析是一项复杂的技术,一般都是由数据库厂商来掌握,当然也有公司专门提供SQL解析的API。SQL解析与优化是属于编译器范畴,和C语言等其他语言的解析没有本质的区别。其中分为词法分...

java高级架构牛人 ⋅ 52分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部