表单防垃圾保护:Cloudflare Turnstile 与 Google reCAPTCHA v3 配置指南
表单防垃圾保护
Cloudflare Turnstile <cloudflare-turnstile> 与
Google reCAPTCHA v3 <google-recaptcha>
用于保护网站表单、注册页面和密码重置页面,防止垃圾信息和滥用。它们通过基于遥测和访客行为的非交互式挑战来区分人类和机器人提交。
:::: important ::: title 重要 :::
我们推荐使用 Cloudflare Turnstile,因为 reCAPTCHA v3 可能不符合本地数据保护法规。 ::::
:::: note ::: title 注意 :::
所有使用 Form、Newsletter Block、Newsletter Popup 代码块,以及电商 Extra Step During Checkout 表单的页面,都受到这两种工具的保护。网站注册页面和密码重置页面也受到保护。
::::
::: seealso
Cloudflare Turnstile 配置
在 Cloudflare 上
- 创建 一个 Cloudflare 账户,或使用已有账户并登录。
- 在仪表盘侧边栏,点击
Turnstile。 - 在
Turnstile Sites页面,点击Add Site。 - 添加易于识别的
Site name。 - 输入或选择网站的
Domain(例如 example.com 或 subdomain.example.com)。 - 选择
Widget Mode:推荐使用
Managed模式,若 Turnstile 认为必要,访客会被提示勾选确认自己是人类。Non-interactive和Invisible模式下,访客永不会被要求交互。Non-interactive模式可以显示加载小部件以提示访客表单已受 Turnstile 保护,但 Odoo 不支持此小部件。:::: note ::: title 注意 :::
如果 Turnstile 检查失败,访客将无法提交表单,系统会显示以下错误信息:
::::
- 点击
Create。
生成的密钥随后会显示。请保持页面打开,以便后续在 Odoo 中复制密钥。
在 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 页面,可查看解答率并访问更多设置。 ::::
reCAPTCHA v3 配置
:::: warning ::: title 警告 :::
reCAPTCHA v3 可能不符合本地数据保护法规。 ::::
在 Google 上
打开 reCAPTCHA 网站注册页面。如有需要,登录或创建 Google 账户。
在注册页面:
- 为网站填写
Label(标签)。 - 保持
reCAPTCHA type为Score based (v3)。 - 输入一个或多个
Domains(例如 example.com 或 subdomain.example.com)。 - 在
Google Cloud Platform部分,若已使用该 Google 账户创建项目,则会自动选中;否则会自动创建一个新项目。点击Google Cloud Platform可自行选择项目或重命名自动创建的项目。 - 同意服务条款。
- 点击
Submit。
随后会显示生成的密钥页面。请保持页面打开,以便后续在 Odoo 中复制密钥。
在 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 检测到可疑流量时,可收到邮件提醒,或查看可疑请求的比例,以帮助您确定合适的最小分数。
::::