跳到主内容

登录页 CAPTCHA 提供商对比:Casdoor 中的 reCAPTCHA、hCaptcha、Turnstile、GeeTest 和阿里云验证码

· 阅读时间:一分钟
Yang Luo
Casdoor Maintainer

对于全球互联网上的大多数登录和注册页面,Cloudflare Turnstile 是最简单的选择:免费套餐对挑战次数没有上限,且其默认模式仅向高风险访客显示复选框。如果您的许多用户位于中国大陆,请改用阿里云验证码或 GeeTest,因为 Cloudflare 表示 Turnstile 在中国大陆不受支持。如果您需要验证码在不依赖任何外部服务的情况下工作,请使用 Casdoor 的内置图像验证码。Casdoor 支持所有这些方案,以及 Google reCAPTCHA(v2 和 v3)和 hCaptcha,作为 验证码提供商,您可以按应用设置验证码出现的时间。

对比​

以下价格和可用性信息已于 2026-11-02 对照各供应商官网进行核实。若供应商未公布具体数字,表格中会注明,而非猜测。

提供商用户所见内容隐形模式数据与隐私免费套餐与定价中国大陆支持情况Casdoor 类型
Casdoor 默认从图像中输入五个数字无由您的 Casdoor 服务器生成并验证;无第三方参与免费,包含在 Casdoor 中可用,无需外部调用Default
Google reCAPTCHA v2复选框;部分用户会遇到图像挑战v2 也提供隐形变体,仅对可疑流量发起挑战Google;设置 _GRECAPTCHA cookie 以进行风险分析Essentials 层级每个组织每月最多 10,000 次评估免费;Premium 层级前 100,000 次固定收费 $8,之后每 1,000 次 $1Google 建议在无法访问 www.google.com 时使用 www.recaptcha.netreCAPTCHA, reCAPTCHA v2 (checkbox)
Google reCAPTCHA v3Nothing; returns a score (Casdoor rejects scores below 0.5)YesSame as v2Same as v2Same as v2reCAPTCHA v3
hCaptcha免费套餐显示带图像挑战的复选框Pro 版提供被动模式(“99.9% 被动”),Enterprise 版提供无 CAPTCHA 模式声明免费套餐符合 GDPR、CCPA、LGPD 和 PIPL;获得 EU-U.S. Data Privacy Framework 认证Basic 版免费;Pro 版每月 $139(或按年计费每月 $99),包含 100,000 次评估,之后每 1,000 次 $0.99;Enterprise 版需联系销售hCaptcha 未记录相关说明hCaptcha
Cloudflare TurnstileManaged 模式仅在必要时显示复选框Non-interactive 和 Invisible widget 模式Cloudflare 声称仅处理严格必要的数据,不读取表单条目;无需使用 Cloudflare 代理免费套餐:无限挑战,最多 20 个组件;Enterprise 版需联系销售Cloudflare:“不支持中国大陆”Cloudflare Turnstile
GeeTest CAPTCHA v4一键点击、滑块拼图、文字点击、消消乐v4 产品页未列出中国供应商;特定于产品的隐私政策无公开价格列表;30 天免费试用,之后需联系销售中国供应商GEETEST
Alibaba Cloud Captcha 2.0一键点击、滑块、拼图、图像复原Standard 和 Enterprise 版本提供无痕模式运行于阿里云按量付费:中国大陆每次调用 0.005 CNY,境外每次 0.007 CNY;也提供订阅版本和资源包支持;Casdoor 针对上海区域端点进行验证Aliyun Captcha

关于 reCAPTCHA 行的两点说明。Google 已将 reCAPTCHA 并入 Google Cloud Fraud Defense,分为 Essentials、Premium 和 Enterprise 层级,且 10,000 次免费评估额度在整个 Google Cloud 组织中共享。Casdoor 通过标准的 siteverify 端点,使用 site key 和 secret key 与 reCAPTCHA 通信,并且浏览器脚本和服务端验证均从 recaptcha.net 加载,而非 google.com。

如何选择​

全球 SaaS​

建议从 Cloudflare Turnstile 开始。免费套餐不对挑战次数计量,Managed 模式使大多数用户无需点击任何内容,且您无需将网站路由至 Cloudflare。如果您已在使用 Google Cloud 并希望利用 reCAPTCHA 的风险信号,reCAPTCHA 也是不错的选择,但需注意 10,000 次免费评估的限制:繁忙的登录页面或短信轰炸攻击可能在一天内耗尽该额度。hCaptcha 是另一个常见选择;其免费套餐始终显示挑战,而被动模式为付费功能。

拥有中国大陆用户的 App​

根据 Cloudflare 官方文档,Turnstile 不适用。对于 reCAPTCHA,Google 文档指出当 www.google.com 不可达时应使用 www.recaptcha.net 域名,Casdoor 已采用此域名,但在依赖它之前,您仍应从用户网络进行测试。hCaptcha 未发布关于中国大陆的声明,因此适用同样的建议。

两个稳妥的选择是 Alibaba Cloud Captcha 和 GeeTest。阿里云公布了每次调用的价格,并允许您从按量付费开始;其无痕模式(在 Casdoor 中,使用 Popup 子类型)接近 Turnstile 的隐形体验。GeeTest 在 30 天试用期后需通过销售团队购买。如果同一个 Casdoor 实例同时服务于中国和全球其他地区的用户,请记住一个应用只能配置一种验证码提供商,因此如果不同受众需要不同的验证码,请将他们拆分为两个应用。

欧盟地区注重隐私的用户​

每个托管的验证码都会向提供商发送一些关于访客浏览器的数据。如果您的法务团队希望登录路径中完全不涉及第三方,那么 Casdoor 的默认验证码是表中唯一将所有内容保留在您自己服务器上的选项。在托管选项中,Turnstile 和 hCaptcha 都将隐私作为产品的一部分(分别限制数据仅为验证所需,并遵循 GDPR 和 EU-U.S. Data Privacy Framework)。reCAPTCHA 会设置一个 _GRECAPTCHA cookie;Google 指出,从 www.recaptcha.net 提供服务可以避免 www.google.com 可能设置的其他 cookie。无论您选择哪一个,都请在您的隐私声明中列出它。

自托管、内网或离线环境​

使用默认验证码。它不需要密钥,也不需要出站网络访问,因此适用于气隙隔离的安装环境。将其与 Internet-Only 规则(见下文)结合使用,这样办公室网络中的人员就不会看到它,而来自公共互联网的请求仍然会触发它。

默认验证码是对抗自动破解工具最弱的选项,因为它只是一个简单的扭曲数字图像。对于高流量的公共登录页面,请将其与多因素身份验证结合使用,或将用户迁移到无密码登录,这消除了验证码旨在减缓的密码猜测行为。

Casdoor 中 CAPTCHA 的工作原理​

您添加一个 Category 设置为 Captcha 的提供商,类型可以是以下之一:Default、reCAPTCHA、reCAPTCHA v2、reCAPTCHA v3、hCaptcha、Cloudflare Turnstile、GEETEST 或 Aliyun Captcha。然后,您在 Providers 选项卡上将其添加到应用中。一个应用只能包含一个验证码提供商;Casdoor 拒绝保存第二个。每个提供商的设置步骤请参阅验证码提供商文档。

Casdoor 在哪里要求输入验证码​

同一个提供商保护多个操作,并且 Casdoor 在服务器上检查令牌,而不仅仅是在浏览器中:

  • 密码登录。
  • 注册表单提交。
  • 通过电子邮件或短信发送验证码,这涵盖了注册的代码步骤、忘记密码页面和基于代码的登录。这是防止耗尽您短信预算的机器人的保护措施。

Casdoor 何时要求输入验证码​

应用中验证码提供商的 Rule 决定了它何时出现:

RuleBehavior
None从不;验证码关闭
Dynamic仅当用户的失败登录次数达到应用的 Failed signin limit 时
Always每次
Internet-Only针对来自公共 IP 地址的请求;不针对私有、回环或其他非公共地址

Dynamic 是最温和的登录设置:诚实的用户永远不会看到挑战,而尝试猜测密码的人会在几次失败后遇到一个。然而,它只适用于已存在的账户。注册或发送到尚未拥有账户的地址的代码不会触发它。如果您担心注册时的 SMS 或电子邮件滥用,请使用 Always 或 Internet-Only。

它在页面上的位置​

在应用的登录项目中,Captcha 项目有其自己的规则:Pop up 在需要时在对话框中显示验证码,而 Inline 则将其直接放在页面上。请参阅更改验证码。阿里云验证码有一个额外的 Sub type:Embed 在 Casdoor 对话框内显示它,而 Popup 将控制权交给阿里云自己的弹窗,这是无痕场景所需要的。

在启用规则之前,请使用提供商页面上的 Preview 按钮检查密钥。

参考资料​