网络验证码--你到底是爱它还是恨它?

news2024/12/25 0:08:33

互联网安全防火墙(1)--网络验证码的科普

1   戏言部分

为了在网络上吸引大家读这个文章,在想标题的时候,也是够了。本来是严肃的科普学术帖,但是却一股强烈的“不转不是中国人,让男孩沉默女孩流泪” 这种段子文的气息了。希望大家能够顺利 “上钩” 吧,也不枉我想了好久的噱头标题了。进来之后,请看副标题,这才是正儿八经的学术标题。

2   概述

在网络越来越普及的今天,关于验证码,大家肯定已经见过很多了。对于这东西,大家肯定是咬牙切齿,骂过不下千百遍了吧。因为它一般的表现形式如下:

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

都可以想像到看这些人都认不出来的验证码时的抓狂的表情了吧。

但是这个东西对于网站主(网络服务提供商)来说,却是必须的,因为没有它之后,互联网服务就相当于没有了最基本的防火墙,会产生很多我们不希望发生的麻烦事情出来。鉴于很多人都不了解这个,所以有必要进行一下科普。

先引用一段来自wiki的关于 验证码 的描述:

全自动区分计算机和人类的公开图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

熟悉网络的人,肯定熟悉这个东西,在注册的时候需要,在登录的时候需要,在买东西 下订单的时候也需要。

在正式阐述其功能时,先解释两个概念:

  • 自然人

    实际的信息获取者和应用交互操作的主体是具有生物学上的特点的真实人类

  • 机器人

    没有生物学特征,仅仅是通过编码来完成一系列的信息处理的应用程序

验证码的主要功能就是:区分 自然人 和 机器人

对于自然人,大家都很好理解,但是关于机器人,可能一般人不会有什么概念,不清楚它到底有什么能力。下面将简单的对机器人的信息处理能力进行介绍。

3   机器学习领域

由于计算机技术的大力发展,机器人已经在越来越多的地方具有人的一些认知能力,甚至超过人的认知能力了。比较典型的技术领域有(引自wiki):

  1. 图像识别

    光学字符识别(英语:Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。

  2. 语音识别

    语音识别(speech recognition、语音辨识/言语辨别)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR)、电脑语音识别(英语:Computer Speech Recognition)或是语音转文本识别(英语:Speech To Text, STT),其目标是以电脑自动将人类的语音内容转换为相应的文字。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

图像识别想必大家一定不陌生。它在目前正面应用场景众多:

  • 从书本扫描件里面识别出文字,并转化成文本输出。被广泛地应用于图书馆的纸质书电子化的工程中。
  • 车牌识别。目前的交通系统里面利用摄像头进行全自动化地违章取证,停车场进出车辆自动登记车牌。
  • 一维码 和 二维码。这个更不用说了,前者在上个世纪改变了整个零售行业,而后者则在本世纪打通了线上线下,带出了移动互联网的 O2O 的产业。

语音识别由于技术难度比较大,比图像识别的应用要晚,但是目前的移动互联网时代却开始蓬勃发展起来。比较典型的应用场景有:

  • 语音输入法。目前手机上输入法基本上都支持了。
  • 语音转文字。类似微信这样支持语音通讯的工具都提供了语音转文字的功能。
  • 语音机器人。从苹果的 Siri 到微软的 小娜,能够对人的语音进行语义理解,并执行相应的操作或者应答。

以上的例子,主要是为了说明:目前的科技条件下,机器人 的认知能力已经相当高了,即它具备智能化处理事情的能力了。然后机器人还具有如下几个特点:

  1. 永不知疲倦。在目前的用电环境和硬件设备下,基本上可以保证分分秒秒都用于信息处理上面。
  2. 单体计算能力惊人。例如:一个正常的成年人,徒手计算类似于 23456/12345 的除法,大概需要至少5分钟;但是目前一个普通的家用电脑2.4GH主频的CPU可以 1秒 内完成几千几万的这样的计算不成问题。
  3. 可扩展性强。计算机的单体计算能力已经惊人,但是在目前的云计算环境下,计算机可以 抱团 以集群的方式进行批量大规模信息处理,这个时候,提供的计算能力上限又得到了极大的提高。

总之,处理程式化的信息,机器人已经把人秒得连渣都不剩了。

试想这么恐怖的属性下,再带一些前面提到的 智能认知 能力,那将是怎样的一种光景。

4   机器人案例

因为计算机处理信息的能力是相当恐怖的,如果不对 自然人 和 机器人 进行区分。那么普通人在网上使用一些网络资源的时候,你的竞争对手就都是那些开了 作弊器 的机器人了,人类在机器人的网络资源争夺战里面有机会胜出么。具体有如下几个案例大家可以感一下。

4.1   火车购票

在国内唯一的一家火车票网站 12306 里面。每到春运的时候,铁路部门承诺在 8:00 准时放出某车型号票 1000 张,但是 0.1 秒被抢光,然后到处都是人抱怨买不到票,这些票都集中在少数几个 票贩子 手中了。

当然即使是 散户 抢票,也为不同了情况,有人会利用一些各大互联网公司提供的 刷票 插件来自动留意页面信息变化,并自动完成购票。

在寒冬,火车票代售点排几十米长队的辛苦的普通劳动人民;会上网,但只会徒手按照正常流程在网上购票的普通网民,大家有信心抢到票么?

4.2   新浪微博

在新浪微博早期各种技术体系不成熟的时候(没有验证码,也没有手机绑定),有个计算机专业的在校学生写了一段程序,注册了10万微博号,在后期微博红火起来之后,他利用程序来操纵来10万账号可以做如下事情:

  • 批量转发
  • 批量加粉
  • 批量投票

也就是后面大家所说的 僵尸账号 ,操纵如此庞大的 用户 ,必然会影响到整个微博的信息生态的平衡。

4.3   其它案例

关于机器人打破信息竞争平衡的案例还有如下几种:

  • 网络投票

    有专业的刷票公司,能够在规则相当严格(IP限制,地域限制,人数限制)的投票系统里面,仍然可以将指定的参选对象的票数刷得高得离谱。

  • 网络优惠券或者游戏道具

    有些游戏平台在页面上发布一些免费道具和优惠券的时候,本意是让用户比较均衡地得到优惠,但是有机器人参与后,这些资源往往很快被少数的人收入囊中。

  • 网络视频主播

    如果手上掌控了大量的 僵尸账号 ,可以批量投票,刷出主播室同时在线人数的人气等等。

  • 网络垃圾发帖

    在论坛上面,如果没有技术管制手段。可以通过机器人,让整个论坛的版块全部是高密集时间发的广告图文或者垃圾水帖。

总之,在信息世界里面,机器人的参战后,如果不加以区分,就不会有信息世界的自由竞争了。

下面是一个网络注册机,注册了大量账号之后,利用程序来发垃圾帖子的截图:

显然这些场景都是正常的人不愿意看到的,这个时候就需要验证码隆重登场了。

5   本部分小结

由于这个系列的文章比较长,所以准备分几个部分介绍,此部分,先介绍验证码的作用及机器人的一些漫谈。后续会从一些相应的防范产品的表现形式和主要的攻防技术手段上来进行介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Mybatis小白从0到90%精讲】05:Mybatis新增(insert),要掌握的点位,都在这里

文章目录 前言一、编写Mapper二、编写 Mybatis 工具类三、看效果总结前言 身为半自动ORM的Mybaits, 其在查询方面支持任意SQL, 表现出色,那么它在新增insert 方面表现又如何呢? 今天我们来实战 Mybatis新增(insert) 操作,看看它的表现是不是依然出色? 在讨论新增数据时,…

分享88个节日庆典PPT,总有一款适合您

分享88个节日庆典PPT,总有一款适合您 PPT下载链接:百度网盘 请输入提取码 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付费甚欢喜,为咱码农谋福利…

1.Java Stream 流操作

概念 Stream把将要处理的集合中的元素进行流式化处理 ,在流式化处理过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。 Stream 的操作符大体上分为两种:中间操作符和终止操作符 中间操作符 对于…

【10套模拟】【1】

关键字: 快排空间复杂度、算法目标、广义表与树、后缀表达式、AOV网、完全图、子表

java代码检查

jacoco 引入依赖 <dependencies><dependency><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.7</version></dependency><dependency><groupId>org.springframew…

2023-2024 中国科学引文数据库来源期刊列表(CSCD)

文章目录 CSCD来源期刊遴选报告2023-2024 中国科学引文数据库来源期刊列表&#xff08;CSCD&#xff09; CSCD来源期刊遴选报告 2023-2024 中国科学引文数据库来源期刊列表&#xff08;CSCD&#xff09;

【Mybatis小白从0到90%精讲】01:IDEA创建Maven项目,添加Mybatis依赖

文章目录 前言一、IDEA创建Maven项目二、添加依赖前言 Mybatis开发,我们从创建一个Maven项目项目开始,推荐使用的开发工具是IDEA,接下来演示使用IDEA创建Maven项目,并添加Mybatis依赖,每一步对应都有配图,Let’s Go~ 一、IDEA创建Maven项目 打开IDEA,点击左上角菜单:F…

基于java+springboot+vue的校园出入管理系统

项目介绍 本论文主要论述了如何使用JAVA语言开发一个校园出入管理系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述校园出入管理系统的当前背景以及系统开…

挑战100天 AI In LeetCode Day01(2)

挑战100天 AI In LeetCode Day01&#xff08;2&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-22.1 题目2.2 题解 三、面试经典 150 题-23.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&#xff0c;面向程序…

基于SSM的教学管理系统(有报告)。Javaee项目。

演示视频&#xff1a; 基于SSM的教学管理系统&#xff08;有报告&#xff09;。Javaee项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc My…

【唠唠嵌入式】__嵌入式只是一个技术领域,不是一个行业!

目录 前言 阶段1 大一到大三这个阶段我与大多数学生相同&#xff1a; 关于如何学习嵌入式软件开发&#xff1a; ① 学习51单片机 ② 开始查资料看书 ③ 开始学习STM32 ④ 开始增强 C 语言 ⑤ 认真研读 OS 方面的书 ⑥ 自己仿照 ucos 写一个 stm32 上的实时 os 出来 …

七月论文审稿GPT第2版:从Meta Nougat、GPT4审稿到Mistral、LongLora

前言 如此前这篇文章《学术论文GPT的源码解读与微调&#xff1a;从chatpaper、gpt_academic到七月论文审稿GPT》中的第三部分所述&#xff0c;对于论文的摘要/总结、对话、翻译、语法检查而言&#xff0c;市面上的学术论文GPT的效果虽暂未有多好&#xff0c;可至少还过得去&am…

【ArcGIS Pro二次开发】(74):Python、C#实现Excel截图导出图片

以村庄规划制图为例&#xff0c;通过对现状和规划用地的统计&#xff0c;生成Excel格式的【空间功能结构调整表】后&#xff0c;需要进一步将表格导出成图片&#xff0c;并嵌入到图集中&#xff0c;这样可以实现全流程不用手动参与&#xff0c;让制图的流程完全自动化。 关于E…

系列十一、拦截器(二)#案例演示

一、案例演示 说明&#xff1a;如下案例通过springboot的方式演示拦截器是如何使用的&#xff0c;以获取Controller中的请求参数为切入点进行演示 1.1、前置准备工作 1.1.1、pom <dependencies><!-- spring-boot --><dependency><groupId>org.spring…

多模态最新经典论文合集,涵盖预训练、表征学习、多模态融合

最近多模态相关的论文好火&#xff0c;原因就不多说了&#xff08;懂得都懂&#xff09;&#xff0c;因为有不少想发paper的同学来问了&#xff0c;我就火速整理了一部分来和你们分享。 这次整理了6篇最新的多模态论文&#xff0c;还有12篇经典的文章&#xff0c;主要涉及预训…

优先级队列(堆)的概念+模拟堆的实现

文章目录 优先级队列&#xff08;堆&#xff09;的概念模拟堆的实现一、概念1.优先级队列2.堆1.堆的性质2.堆的存储3.堆的创建3.1 向下调整3.2建堆的时间复杂度 O(N) 4.堆的插入4.1向上调整4.2向上调整建堆的时间复杂度&#xff1a;O(N * log N) 5.堆的删除 优先级队列&#xf…

【Java 进阶篇】Java Session 原理及快速入门

大家好&#xff0c;欢迎来到本篇博客。今天&#xff0c;我们将探讨Java Web开发中一个重要而令人兴奋的概念&#xff0c;即Session&#xff08;会话&#xff09;。Session是一种在Web应用程序中跟踪用户状态和数据的机制。我们将深入了解Session的原理&#xff0c;并通过示例来…

LangChain+LLM实战---LlamaIndex、正确使用索引

LlamaIndex简介 LlamaIndex(也称为GPT Index)是一个用户友好的界面&#xff0c;它将您的外部数据连接到大型语言模型(Large Language Models, llm)。它提供了一系列工具来简化流程&#xff0c;包括可以与各种现有数据源和格式(如api、pdf、文档和SQL)集成的数据连接器。此外&a…

Android Studio(对话框AlertDialog)

前言 前面介绍了常用控件的相关属性&#xff0c;那些控件的使用起来也很容易。在本节及后面的章节介绍的控件将是相比于前面使用起来较为复杂的&#xff08;不过使用多了&#xff0c;也很容易上手&#xff09;。 这些控件常常需要配合java代码来使用&#xff0c;比如说对话框、…

如何将PDF文件转换成翻页电子书?这个网站告诉你

​随着电子书的普及&#xff0c;越来越多的人开始将PDF文件转换成翻页电子书。翻页电子书不仅方便阅读&#xff0c;而且还可以在手机上轻松翻页。那么如何将PDF文件转换成翻页电子书呢&#xff1f;今天就为大家介绍一个网站&#xff0c;可以帮助你轻松完成这个任务。 1.首先&am…