Discourse 验证码

:discourse: 摘要 Discourse Captcha 为本地注册表单添加了 CAPTCHA 挑战支持,并支持多个提供商,包括 hCaptcha 和 reCAPTCHA。
:open_book: 安装指南 此插件已包含在 Discourse 核心中。无需单独安装。

:discourse2: 由我们托管?此插件在我们的 Pro、Business 和 Enterprise 计划中可用。 https://www.discourse.org/plugins/captcha


支持的提供商

该插件支持以下 CAPTCHA 提供商:

  • hCaptcha — 一款注重隐私的 CAPTCHA 服务,免费套餐每月最多支持一百万次请求。
  • reCAPTCHA — Google 的 CAPTCHA 服务。

这两个提供商都需要一个 站点密钥 (Site Key) 和一个 密钥 (Secret Key),您需要从提供商的控制台获取并输入到插件设置中。


配置

:spiral_notepad: 必须启用 enable_local_logins 站点设置。如果禁用了本地登录,该插件将无法工作。

hCaptcha

  1. 访问 hcaptcha.com 并创建账户。选择适合您网站流量的计划。在设置过程中会生成 站点密钥 (Sitekey)账户密钥 (Account Secret)

    :warning: 请务必始终保密您的密钥。

  2. 在您的 Discourse 管理面板中,前往 Admin → Plugins → Installed → Captcha Settings,或在站点设置中搜索 captcha

  3. discourse_captcha_provider 设置为 hcaptcha

  4. 站点密钥 (Sitekey) 复制到 hcaptcha_site_key 设置中,将 账户密钥 (Account Secret) 复制到 hcaptcha_secret_key 设置中。

  5. 通过 discourse_captcha_enabled 设置启用该插件。

reCAPTCHA

  1. 访问 google.com/recaptcha 并使用 Google 账户登录。注册一个新站点以获取 站点密钥 (Site Key)密钥 (Secret Key)

    :warning: 请务必始终保密您的密钥。

  2. 在您的 Discourse 管理面板中,前往 Admin → Plugins → Installed → Captcha Settings,或在站点设置中搜索 captcha

  3. discourse_captcha_provider 设置为 recaptcha

  4. 站点密钥 (Site Key) 复制到 recaptcha_site_key 设置中,将 密钥 (Secret Key) 复制到 recaptcha_secret_key 设置中。

  5. 通过 discourse_captcha_enabled 设置启用该插件。


从 Discourse hCaptcha 升级

此插件取代了之前的 Discourse hCaptcha 插件。如果您之前已经在使用 hCaptcha,您的配置将自动保留——您无需重新输入密钥。


17 个赞


请帮忙

1 个赞

您似乎在使用一个干扰 hCaptcha 插件的插件、主题或主题组件。尝试使用安全模式,首先禁用主题,看看插件是否在那时起作用。

5 个赞

谢谢您的回复。我们通过 CSP 策略修复解决了这个问题。但它不适合我们的网站,所以我们不得不将其移除并纳入其他安全检查。

2 个赞

我们已对此进行了修复,如果您想尝试一下,现在应该可以正常工作了。

2 个赞

6 个帖子被拆分为新主题:启用 hCaptcha 且未配置密钥时登录不起作用

:partying_face: 此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,与 Discourse 核心捆绑在一起。如果您是自托管用户并使用了此插件,则需要在下次升级前将其从 app.yml 中删除。

2 个赞

以防开发团队某天需要一个兼容 Docker 的 hcaptcha 替代品;这个也很不错 GitHub - altcha-org/altcha: GDPR, WCAG 2.2 AA, and EAA compliant, self-hosted CAPTCHA alternative with PoW mechanism. ; Free, open-source Captcha alternative | ALTCHA

插件更新:Discourse hCaptcha 现已更名为 Discourse Captcha :tada:

该插件已从 Discourse hCaptcha 更名为 Discourse Captcha,以反映其扩展后的功能范围。它现在同时支持 hCaptchareCAPTCHA,并且其架构已为未来接入更多提供商做好了准备。

首帖已更新,包含针对这两种提供商的完整设置说明。

对您而言的变化:

  • 如果您使用的是 hCaptcha,无需进行任何操作——您的站点密钥、密钥以及启用状态都会自动保留。
  • 站点设置键已更新为使用 captcha_ 前缀(例如,使用 captcha_site_key 代替 hcaptcha_site_key)。在升级时,这些设置会自动迁移。
  • 自托管站点:在重新构建之前,请从您的 app.yml 文件中移除旧的 discourse-hCaptcha git clone 行。详情请参阅首帖。
7 个赞

这部分有点让人困惑。这是否仅适用于那些自行安装且自该插件随核心捆绑以来未进行过升级的用户?

感谢你的辛勤工作!

1 个赞

是的,这仅影响自行托管的用户。如果您使用了验证码并认为可能受到影响,请在 app.yml 文件中搜索 discourse-hCaptcha。如果存在该行,请将其删除并重建 Discourse。

1 个赞

它已经包含在核心中一年了,所以甚至不需要在 app.yml 中。我使用它,效果很好。只需在 admin->plugins 中启用它即可。

2 个赞

没错。我是自行托管的,上个月才开启它。

只有当你自行托管且过去一年没有更新时,这才会产生影响。否则,我认为在升级时它应该会报错。

2 个赞