表单防垃圾保护

Cloudflare Turnstile <cloudflare-turnstile>
Google reCAPTCHA v3 <google-recaptcha>
用于保护网站表单、注册页面和密码重置页面,防止垃圾信息和滥用。它们通过基于遥测和访客行为的非交互式挑战来区分人类和机器人提交。

:::: important ::: title 重要 :::

我们推荐使用 Cloudflare Turnstile,因为 reCAPTCHA v3 可能不符合本地数据保护法规。 ::::

:::: note ::: title 注意 :::

所有使用 FormNewsletter BlockNewsletter Popup 代码块,以及电商 Extra Step During Checkout 表单的页面,都受到这两种工具的保护。网站注册页面密码重置页面也受到保护。 ::::

::: seealso

  • 创建 一个 Cloudflare 账户,或使用已有账户并登录
  • 在仪表盘侧边栏,点击 Turnstile
  • Turnstile Sites 页面,点击 Add Site
  • 添加易于识别的 Site name
  • 输入或选择网站的 Domain(例如 example.comsubdomain.example.com)。
  • 选择 Widget Mode
    • 推荐使用 Managed 模式,若 Turnstile 认为必要,访客会被提示勾选确认自己是人类。

    • Non-interactiveInvisible 模式下,访客永不会被要求交互。Non-interactive 模式可以显示加载小部件以提示访客表单已受 Turnstile 保护,但 Odoo 不支持此小部件。

      :::: note ::: title 注意 :::

      如果 Turnstile 检查失败,访客将无法提交表单,系统会显示以下错误信息:

      ::::

  • 点击 Create

生成的密钥随后会显示。请保持页面打开,以便后续在 Odoo 中复制密钥。

  • 在数据库仪表盘,点击 Settings。在 Integrations 下,启用 Cloudflare Turnstile 并点击 Save
  • 打开 Cloudflare Turnstile 页面,复制 Site Key,粘贴到 Odoo 中的 CF Site Key 字段。
  • 同理,复制 Secret Key,粘贴到 Odoo 中的 CF Secret Key 字段。
  • 点击 Save

:::: tip ::: title 提示 :::

前往 Cloudflare 账户中的 Turnstile 页面,可查看解答率并访问更多设置。 ::::

:::: warning ::: title 警告 :::

reCAPTCHA v3 可能不符合本地数据保护法规。 ::::

打开 reCAPTCHA 网站注册页面。如有需要,登录或创建 Google 账户。

在注册页面:

  • 为网站填写 Label(标签)。
  • 保持 reCAPTCHA typeScore based (v3)
  • 输入一个或多个 Domains(例如 example.comsubdomain.example.com)。
  • Google Cloud Platform 部分,若已使用该 Google 账户创建项目,则会自动选中;否则会自动创建一个新项目。点击 Google Cloud Platform 可自行选择项目或重命名自动创建的项目。
  • 同意服务条款。
  • 点击 Submit

随后会显示生成的密钥页面。请保持页面打开,以便后续在 Odoo 中复制密钥。

  • 在数据库仪表盘,点击 Settings。在 Integrations 下,必要时启用 reCAPTCHA

    :::: warning ::: title 警告 :::

    请勿禁用 reCAPTCHA 功能或卸载 Google reCAPTCHA integration 模块,否则会导致许多其他模块被移除。
    ::::

  • 打开 Google reCAPTCHA 页面,复制 Site key,粘贴到 Odoo 中的 Site Key 字段。

  • 同理,复制 Secret key,粘贴到 Odoo 中的 Secret Key 字段。

  • 如有需要,修改默认的 Minimum score([0.70]),取值范围为 [1.00] 到 [0.00]。阈值越高,通过 reCAPTCHA 越困难,反之亦然。默认提供四个分数级别: [0.1]、[0.3]、[0.7]、[0.9]。

  • 点击 Save

::: seealso 解释 reCAPTCHA 分数 - Google 文档 :::

您可以在表单上向访客展示 reCAPTCHA 保护的提示。方法是打开网站编辑器,定位到表单后,在右侧侧边栏的 Customize 选项卡中,切换 Form 部分下的 Show reCAPTCHA Policy

:::: note ::: title 注意 :::

如果 reCAPTCHA 检查失败,会显示以下错误信息:

::::

:::: tip ::: title 提示 :::

Google 的 reCAPTCHA 管理页面 可查看分析和其他设置。例如,当 Google 检测到可疑流量时,可收到邮件提醒,或查看可疑请求的比例,以帮助您确定合适的最小分数。
::::