# 如何阻止机器人并要求两步验证？

Source: https://help.didit.me/zh/authentication/bot-protection-mfa-and-sessions
Updated: 2026-11-12

在身份认证中开启机器人防护、要求 MFA，并设置会话时长和密码规则，同时了解哪些设置需要 Growth 套餐。

打开**身份认证 → 机器人防护**，开启**仅允许真人**，以保护注册、登录和密码重置。打开**身份认证 → 安全与会话**，选择谁必须使用 MFA、会话持续多久、你的密码规则和重定向网址。MFA、自定义会话时长和用户封禁需要 Growth 或更高套餐。

![Didit 控制台中的机器人防护页面，显示仅允许真人开关、攻击模式以及每项防护的模式](https://help.didit.me/screenshots/auth-bot-protection-light.webp)

*机器人防护：为每项防护选择关闭、记录、验证或拦截。*

## 机器人防护

机器人防护默认关闭。开启**仅允许真人**后，六项防护会监视每一次注册、登录和密码重置：

| 防护 | 它能发现什么 |
|---|---|
| **机器人检测** | 脚本、无头浏览器和浏览器驱动程序，依据设备和表单信号 |
| **撞库攻击** | 同一设备或网络尝试访问多个账户，或使用已知泄露的密码 |
| **暴力破解锁定** | 对同一账户的反复失败尝试 |
| **一次性邮箱** | 来自一次性邮箱域名的注册，以及邮箱验证码或魔法链接登录 |
| **VPN 和数据中心 IP** | 来自 VPN、Tor 或数据中心网络的尝试，依据 Didit 的 IP 分析 |
| **不可能的行程** | 与上一次登录相距很远、速度快到不可能是同一个人的登录 |

为每项防护选择四种模式之一：

| 模式 | 作用 |
|---|---|
| **关闭** | 不检查该防护。 |
| **记录** | 尝试正常通过，Didit 记录这次匹配。 |
| **验证** | 用户必须先通过额外的证明。这是一个邮箱验证码或一个通行密钥。 |
| **拦截** | 该尝试被拒绝。 |

真人永远不会看到拼图验证。被拦截的尝试永远不会告诉调用方某个账户是否存在。每项决定都显示在**身份认证 → 登录记录**中。

### 其他防护

- **泄露密码检查**：新密码和重置的密码会对照已知泄露的密码进行检查，泄露的密码会被拒绝。密码本身不会发送到任何地方。
- **攻击模式**：用于紧急情况。点击**开启攻击模式**，并选择持续时间：1、6 或 24 小时。运行期间，每次注册和登录都会用通行密钥进行验证，来自数据中心网络的新注册会被拒绝，没有通行密钥的用户在其结束前无法完成登录。它会自动关闭，你保存的设置重新生效，结束时会通知你的团队。
- **请求速率限制**：无论你如何设置，始终生效。
- **锁定**：在你保存机器人防护设置之前，输错 5 次密码会锁定账户 15 分钟。当暴力破解锁定设为**拦截**时，用户必须重置密码。你也可以自己为用户解锁（参见[用户、会话和组织](https://help.didit.me/zh/authentication/users-sessions-and-organizations)）。

### 在沙盒中测试

自动化浏览器测试会被视为机器人。请在沙盒应用中运行它们，并把**机器人检测**设为**关闭**或**记录**。

## 允许列表和阻止列表

在 Growth 及以上套餐以及每个沙盒应用中，你的应用程序在**列表**中的**黑名单**和**白名单**会应用于每一次注册、登录和密码重置，无论是否开启了机器人防护。它们与你的验证所使用的是同一批列表，因此你在那里拦截的值，在登录时同样会被拦截。

在 Free 套餐中，生产应用的列表仅适用于身份验证。

| 列表 | 登录时的作用 |
|---|---|
| **黑名单** | 邮箱地址、手机号码、IP 地址（或包含该地址的范围）、设备或用户（其 `vendor_data`）在其中的人，无法注册或登录。该尝试会被拒绝，并在**身份认证 → 登录记录**中显示为**已拦截**。 |
| **白名单** | 其中的 IP 地址（或范围）会跳过**机器人检测**、**撞库攻击**和**VPN 和数据中心 IP**。其中的邮箱地址会跳过**一次性邮箱**。其中的设备在登录时不会有任何变化。**暴力破解锁定**、**不可能的行程**、攻击模式、请求速率限制和黑名单始终适用。 |

- 已经登录的人如果之后被加入黑名单，会在五分钟内被登出。
- 同时出现在两个列表中的值会被拦截。
- 列表的更改会在 30 秒内生效。
- 自定义列表（例如 High Risk Countries，即高风险国家）不适用于登录。
- 如果无法检查列表，登录会继续。登录绝不会因这项检查而失败。

## 安全与会话

**身份认证 → 安全与会话**包含以下设置：

| 设置 | 选项 | 默认值 |
|---|---|---|
| **谁必须使用 MFA** | 所有人、组织管理员、可选 | 组织管理员 |
| **MFA 方式** | 通行密钥、验证器应用和备份码都可使用。选择启用哪些方式暂不可用。 | 以上任一种 |
| **会话有效期** | 1 天、7 天、30 天、90 天 | 30 天 |
| **闲置多久后结束** | 30 分钟、2 小时、1 天、7 天 | 1 天 |
| **密码最短长度** | 8、10、12 或 14 | 10 |
| **谁可以注册** | 任何人、受邀的人、允许的域名（最多 100 个域名） | 任何人 |

该页面上的其他设置：

- **同时使用多个设备**：默认开启。关闭后，每次新登录时会让该用户退出其他会话。
- **密码更改时退出其他设备**：默认开启。它会在密码重置后结束所有会话。
- **电子邮件子地址**：是否接受带加号的地址，例如 `name+tag@example.com`。默认关闭。
- **允许的电子邮件域名**：在注册仅限允许的域名时使用。
- **允许列表和阻止列表**：打开**列表**，在这里管理应用程序的名单。如上一节所述，套餐包含该功能时，这两个列表都会在登录时生效。
- **重定向网址**和**允许的源**：用户登录后返回的位置，以及哪些网站可以调用 Didit。请登记你的确切地址。生产应用只接受 `https://`。

当你的团队撤销或阻止该用户，或者刷新令牌被重复使用时，会话也会结束。

## 哪些需要 Growth

| 部分 | 套餐 |
|---|---|
| 两步验证（MFA）、自定义会话时长、用户封禁、登录时的允许列表和阻止列表 | Growth 及以上 |
| 30 天登录日志 | Scale 及以上 |

在没有这些功能的套餐上，**安全与会话**会显示“Security settings require an upgrade”（安全设置需要升级）和**查看套餐**。此时会话使用固定时长。参见[定价与活跃用户](https://help.didit.me/zh/authentication/pricing-and-active-users)。

更改设置需要一个可以编辑应用的角色：默认是开发者、管理员或所有者。

## 相关文章

- [查看登录记录，并让用户退出或封禁用户](https://help.didit.me/zh/authentication/users-sessions-and-organizations)
- [身份认证的费用](https://help.didit.me/zh/authentication/pricing-and-active-users)
- [文档中的机器人防护](https://docs.didit.me/authentication/bot-protection)
- [文档中的身份认证概览](https://docs.didit.me/authentication/overview)
