📜  验证码 (1)

📅  最后修改于: 2023-12-03 15:12:55.792000             🧑  作者: Mango

验证码介绍

验证码(英文全称:CAPTCHA,全称:Completely Automated Public Turing test to tell Computers and Humans Apart)是一种用于区分用户是计算机还是人的公共全自动程序。旨在防止恶意程序自动化操作。常见的验证码包括数字验证码、字母验证码、滑动验证码、图片验证码等等。

验证码的作用

由于计算机可以很方便地模拟人工操作,因此,在一定程度上,计算机可以伪装成人类。极端情况下,这些伪装成人类的计算机程序甚至能够模拟人类的行为,达到操纵和干扰网站系统的目的。 验证码的作用就在于将计算机与人类区分开来,以确保该操作不是由计算机进行的。

验证码的工作原理

验证码的工作原理包括两个过程:

  1. 验证码生成过程:服务器端采用特定算法生成验证码,并将生成的验证码存储到服务器端。
  2. 验证码识别过程:用户在客户端输入对应的验证码,客户端将输入的验证码与服务器端存储的验证码进行比对,如果一致,则认为该用户为正常用户,允许其进行后续操作。如果不一致,则可能为恶意程序或者机器人,需要进行相应的处理。
常见的验证码类型

下面是常见的验证码类型:

数字验证码

数字验证码是最常见的验证码类型之一,其生成的验证码由纯数字组成。由于计算机很难识别手写数字,因此这种验证码类型比较难被自动化程序突破。示例如下:

**请输入下图中的验证码:**

![image-20211231095729683](https://i.loli.net/2021/12/31/8GFYeuxJ7kb9hXr.png)

#### 输入框
<input type="text" name="code" autocomplete="off" maxlength="5" placeholder="请输入验证码">
字母验证码

字母验证码是由字母组成的验证码,其与数字验证码生成的原理类似。图形验证码的字体、颜色、干扰线条形式不同,常常被用来增加破解的难度。示例如下:

**请输入下图中的验证码:**

![image-20211231101113927](https://i.loli.net/2021/12/31/XlmGZfUrQ8MquW6.png)

#### 输入框
<input type="text" name="code" autocomplete="off" maxlength="5" placeholder="请输入验证码">
滑动验证码

滑动验证码是相对于文字和数字验证码更为高级的一种验证码技术,比较流行。其主要是通过让用户滑动滑块等方式来验证用户是否是人类。示例如下:

**请按下方图片提示,拖动圆球到右侧空圆形区域内,完成验证后点击确认**

![image-20211231102129860](https://i.loli.net/2021/12/31/o2vKj9VyLlgfdte.png)
图片验证码

图片验证码常常被用在电子邮件的验证中,方式是用户在图形上按照要求标出特定的汉字、字母或是数字,它比文字字符串更难被自动化的程序分析。示例如下:

**请输入下图中的验证码:**

![image-20211231103133863](https://i.loli.net/2021/12/31/vwCtoKMRjklOZ9X.png)

#### 输入框
<input type="text" name="code" autocomplete="off" maxlength="5" placeholder="请输入验证码">
结语

以上就是验证码的介绍,验证码不仅是在互联网上的重要保护,也可以用在各种场合中,为我们的信息安全保驾护航。