Contact Form 7 与 Cloudflare Turnstile 集成

Turnstile 是 Cloudflare 的智能 CAPTCHA 替代方案。Contact Form 7 提供与 Turnstile 的集成模块,可有效保护您的联系表单免受垃圾邮件机器人的攻击。与Google reCAPTCHA不同,Turnstile 是免费提供的。除非您有理由使用 reCAPTCHA,否则我们建议您使用 Turnstile。

Cloudflare Turnstile

Cloudflare获取站点密钥和密钥

您需要从 Cloudflare获取站点密钥和密钥。如果您还没有 Cloudflare 帐户,请先创建一个。为您的网站创建一个小部件或选择一个现有的小部件,然后复制站点密钥和密钥以供日后使用。您可以忽略客户端和服务器端的集成代码,就像 Contact Form 7 一样。

在开始之前,您必须具备:

  • Cloudflare 帐户
  • 要保护的网站或 Web 应用程序
  • HTML 和您首选的服务器端语言的基础知识

每个小部件都有自己独特的站点密钥和密钥对,以及配置选项。

成分描述
站点密钥用于调用您网站上的 Turnstile 小部件的公钥。
密钥用于服务器端令牌验证的私钥。
配置模式、主机名、外观设置和其他选项。

之后,转到您的 WordPress 网站仪表板。转到“联系人”>“集成”,然后在“Turnstile”部分中选择“设置集成”。在那里粘贴站点密钥和密钥。

Contact Form 7 与 Cloudflare Turnstile 集成

就这样。现在,您的所有联系表单都会自动包含 Turnstile 小部件,并受到保护,免受机器人攻击。

Turnstile 被设计为一项独立服务。您可以在任何网站上使用 Turnstile,无论该网站是否通过 Cloudflare 网络代理。这允许跨多云环境、本地基础设施或使用其他 CDN 的站点灵活部署。客户端小部件和服务器端验证步骤完全独立。

渲染控制小部件

Turnstile 小部件默认位于表单顶部。如需移动它,请在表单模板[turnstile]中插入form-tag 。

此外,您还可以在[turnstile]表单标签中指定以下选项:

  • action— 指定data-action属性值。
  • appearance— 指定data-appearance属性值。
  • language— 指定data-language属性值。
  • size— 指定data-size属性值。
  • tabindex— 指定data-tabindex属性值。
  • theme— 指定data-theme属性值。

例子:[turnstile size:compact language:en]

Contact Form 7 与 Cloudflare Turnstile 集成
JavaScript 渲染参数数据属性描述
sitekeydata-sitekey每个小部件都有一个站点密钥。此站点密钥与相应的小部件配置相关联,并在小部件创建时创建。
actiondata-action一个客户值,可用于在分析中区分同一站点密钥下的小部件,并在验证后返回。该值*多只能包含 32 个字母数字字符(包括_-)。
cDatadata-cdata客户有效负载,可用于在质询签发过程中将客户数据附加到质询中,并在验证后返回。它*多只能包含 255 个字母数字字符(包括_-)。
callbackdata-callback质询成功后调用的 JavaScript 回调。回调会传递一个可验证的令牌。
error-callbackdata-error-callback发生错误(例如网络错误或验证失败)时调用的 JavaScript 回调。请参阅客户端错误。
executiondata-execution执行控制何时获取控件的令牌,可以是 on render(默认)或 on 。有关更多信息,execute请参阅执行模式。
expired-callbackdata-expired-callback当令牌过期时调用 JavaScript 回调并且不会重置小部件。
before-interactive-callbackdata-before-interactive-callback在挑战进入交互模式之前调用的 JavaScript 回调。
after-interactive-callbackdata-after-interactive-callback当挑战离开交互模式时调用 JavaScript 回调。
unsupported-callbackdata-unsupported-callback当 Turnstile 不支持给定的客户端/浏览器时调用 JavaScript 回调。
themedata-theme微件主题。可采用以下值:lightdarkauto

默认值为auto,以尊重访客偏好。您可以通过相应地设置主题来强制将其设置为亮色或暗色。
languagedata-language显示的语言必须是:(auto默认)使用访客选择的语言,或 ISO 639-1 双字母语言代码(例如en),或语言和国家/地区代码(例如)。有关更多信息,en-US请参阅支持语言列表。
tabindexdata-tabindexTurnstile 的 iframe 的 tabindex,用于辅助功能。默认值为0
timeout-callbackdata-timeout-callback当挑战呈现交互式挑战但未在规定时间内解决时,会调用 JavaScript 回调。回调会重置小部件,以允许访客再次解决挑战。
response-fielddata-response-field控制是否创建带有响应令牌的输入元素的布尔值,默认为true
response-field-namedata-response-field-name输入元素的名称,默认为cf-turnstile-response
sizedata-size小部件大小。可以采用以下值:normalflexiblecompact
retry data-retry控制小部件在获取令牌失败时是否自动重试。默认值为auto,表示将自动重试。您可以将其设置为 ,never以禁用失败时的重试。
retry-interval data-retry-intervalretry设置为时autoretry-interval控制重试间隔时间(以毫秒为单位)。值必须是小于 的正整数900000,默认为8000
refresh-expired data-refresh-expired令牌过期时自动刷新。可以采用automanualnever,默认为auto
refresh-timeoutdata-refresh-timeout控制小部件在输入交互式挑战并观察到超时后是否自动刷新。可以采取auto(遇到交互式超时时自动刷新)、manual(提示访客手动刷新)或never(显示超时)三种方式,默认为auto。仅适用于托管模式的小部件。
appearancedata-appearance外观控制小部件何时可见。它可以是always(默认)、execute或。有关更多信息,interaction-only请参阅外观模式。
feedback-enableddata-feedback-enabled允许 Cloudflare 在小部件发生故障时收集访客反馈。可以是true(默认)或false
滚动至顶部
扫描微信二维码联系我们 关闭