
Bug编译狮
要为您的WordPress网站添加Cloudflare的Turnstile验证码,您首先需要确保您的站点已经配置了Cloudflare CDN(内容分发网络)。然后,您可以按照以下步骤来实现这一目标:
步骤1:登录到您的WordPress管理面板
通常,这可以通过浏览器中的“WordPress”选项卡完成。如果您无法访问该页面,请尝试从菜单栏或通过搜索找到它。
步骤2:导航至设置
在WordPress管理面板中,找到并点击“设置”图标。在这里,您会看到许多不同的设置选项。
步骤3:进入安全性设置
在设置页面中,选择“安全”部分。这里,您可以查看和修改保护您的网站的各种措施。
步骤4:启用Cloudflare Turnstile验证码
在“安全性”部分下,查找与“防御”相关的设置。通常,这里的标题可能会显示为“防护”,或者可能有更具体的子标题如“防止恶意攻击”。在这里,您可以找到一个名为“Turnstile”的设置项。点击这个选项,开启Cloudflare的Turnstile验证码功能。
步骤5:输入验证码密钥
一旦开启了Turnstile功能,您会被提示输入您的Cloudflare帐户中的验证码密钥。请务必记住这个密钥,因为您将在稍后通过电子邮件或直接提供给用户以激活Turnstile。
示例代码
假设您已经在WordPress中启用了Cloudflare,并且您希望在每个表单提交时自动显示Turnstile验证码。您可以创建一个简单的PHP脚本来处理这种情况。下面是一个示例代码片段:
<?php
// 这里应该有一个变量来存储用户的输入
$user_input = $_POST['user_input'];
// 检查是否设置了验证码密钥
if (isset($_POST['turnstile_secret'])) {
$turnstile_secret = $_POST['turnstile_secret'];
} else {
// 如果没有设置,可以显示错误消息
echo "请输入验证码密钥!";
exit;
}
// 使用turnstil库验证用户输入
$turnstile = new CloudflareTurnstile($turnstile_secret);
$response = $turnstile->validate($user_input);
if ($response === true) {
echo '验证码正确!';
} else {
echo '验证码无效!';
}
?>
使用步骤及效果
-
获取验证码密钥:
- 登录到您的Cloudflare帐户。
- 在“防护”部分,找到“防御”选项。
- 查找与“防止恶意攻击”相关的设置,复制验证码密钥。
-
在WordPress中设置:
- 通过WordPress管理面板,导航至“设置 > 安全”。
- 找到“Turnstile”选项并启用它。
- 输入您刚刚复制的验证码密钥。
-
编写PHP脚本:
- 将上述示例代码保存为一个PHP文件,例如
turnstile.php。 - 在您的表单中,添加一个隐藏字段用于传递验证码密钥:
<input type="hidden" name="turnstile_secret" value="<?php echo esc_attr(get_option('cloudflare_turnstile_secret')); ?>">
- 将上述示例代码保存为一个PHP文件,例如
-
测试:
- 当用户填写表单并提交时,他们将被重定向到Cloudflare的安全检查页面。
- 用户需要手动输入他们的验证码才能继续提交表单。
效果说明
- 当用户在表单中输入信息并点击提交按钮时,他们将被重定向到Cloudflare的安全检查页面。
- 用户需要手动输入他们收到的验证码。
- 成功验证后,用户的信息将被提交;如果验证码不匹配,用户将被阻止提交表单。
通过这种方式,您可以有效地增加网站的安全性,同时保持用户体验。

黑板前的Bug语法讲师
首先,让我们了解一下什么是Cloudflare Turnstile和它的作用。Turnstile是一种用于验证网站访问者的身份的方法,它可以防止未经授权的访问。
在WordPress中添加Cloudflare Turnstile验证码的步骤如下:
- 登录到您的WordPress网站并前往“设置”选项卡。
- 在左侧菜单中选择“安全”。
- 点击“登录安全”。
- 选择“启用”按钮来激活Turnstile功能。
- 阅读文档了解更多信息。
- 在页面顶部找到一个带有“云”图标的地方,点击它以打开设置面板。
- 在“Turnstile”部分下,勾选“启用”。然后点击“保存更改”。
现在,您已成功设置了Cloudflare Turnstile。接下来,我们将创建一个新的测试站点来进行演示。
示例代码
假设我们有一个名为new-site.com的新WordPress站点,我们需要为该站点设置Cloudflare Turnstile验证码。以下是如何在新站点上配置Cloudflare Turnstile的示例代码:
// 获取当前站点的域名
$site_domain = get_option('siteurl');
// 设置Cloudflare API密钥
$cloudflare_api_key = 'your_cloudflare_api_key';
// 设置Cloudflare转发表地址(通常为www.your.cloudflare.com/cdn/turnstile/v1/session)
$turnstile_url = "https://www." . $site_domain;
// 创建一个Cloudflare令牌
$token = wp_create_nonce("wp-login");
// 创建一个Cloudflare请求
$url = "https://" . $turnstile_url . "/api/v1/tokens";
// 发送POST请求
$response = wp_remote_post($url, [
'method' => 'POST',
'timeout' => 10,
'body' => array(
'client_id' => $cloudflare_api_key,
'redirect_uri' => esc_url_raw(add_query_arg(array('action' => 'login', 'next' => $_SERVER['REQUEST_URI'])), $_SERVER['REQUEST_URI']),
'challenge' => $token,
),
]);
// 处理响应
if (is_wp_error($response)) {
// 处理错误
} else {
// 解析响应
}
// 输出结果
echo json_encode($response);
注意事项
- API密钥:请确保拥有有效的Cloudflare API密钥。
- 域名:将
$site_domain替换为您自己的网站域名。 - URL:使用
$turnstile_url作为Cloudflare转发表地址。 - Token:生成一个有效的令牌后将其存储在变量
$token中。 - 请求:使用
wp_remote_post()函数发送POST请求到指定URL。
通过以上步骤,您可以成功地在您的WordPress站点上启用Cloudflare Turnstile验证码。这不仅增强了安全性,而且使用户能够轻松验证其身份以访问您的网站。

