建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

为WordPress评论添加Cloudflare Turnstile验证图文教程

GG网络技术分享 2025-03-18 16:16 1


最著名的免费CDN提供商Cloudflare开发了一个名为Cloudflare Turnstile的新工具,作为传统CAPTCHAs的有效和免费替代品。这一创新工具旨在帮助网站所有者验证其访问者的真实性,而无需让他们承担解决验证码的繁琐和烦人的任务。此外,该工具可轻松纳入任何网站,无论该网站是否使用Cloudflare的内容交付网络(CDN)。

Cloudflare Turnstile采用有管理的挑战,这是比CAPTCHA更智能的解决方案,可在您的登录页面、注册页面或评论表单上提供保护,防止垃圾邮件和滥用。如果你正在为垃圾评论而苦恼,Cloudflare Turnstile可以帮助你有效地缓解它们。

在本教程中,将指导您如何将Cloudflare Turnstile添加到您的WordPress评论功能中,这可以帮助防止机器人对您的网站进行垃圾评论,而不需要任何插件。这里就分享一下为WordPress评论添加Cloudflare Turnstile验证图文教程。

在WordPress评论中添加Cloudflare Turnstile

第1步:获取Site Key和Secret Key

要在您的网站上设置Cloudflare Turnstile,您需要为它获得一个Site Key和一个Secret Key。首先,从注册页面创建一个Cloudflare账户。登录后,在 Cloudflare 仪表板上,点击 Turnstile 菜单,开始添加您的网站。

为WordPress评论添加Cloudflare Turnstile验证图文教程插图
为WordPress评论添加Cloudflare Turnstile验证图文教程插图1

在添加网站页面,添加你的网站名称和网站域名,然后选择小工具模式。我们在本教程中选择了管理选项,但你可以选择你想要的任何选项。一旦你填写了所有必要的字段,点击创建按钮。

为WordPress评论添加Cloudflare Turnstile验证图文教程插图2

现在,您将拥有您的Site KeySecret Key,准备为您的网站设置Cloudflare Turnstile。

为WordPress评论添加Cloudflare Turnstile验证图文教程插图3

第2步:在主题文件中添加自定义代码

一旦你得到了你的site key和Secret Key,下一步就是添加自定义代码,并将密钥添加到代码中。由于本教程将使用活动主题的文件,你可能想备份你的网站或使用一个子主题,以避免破坏父主题或在你更新主题时丢失你的修改。

一旦你准备好了,从你的WordPress仪表板导航到外观→主题文件编辑器。如果你使用的是一个块状主题,主题文件编辑器可以在工具菜单下找到。

现在,对于第一段代码,在编辑主题页面,从主题文件列表中选择single.php文件,并将以下代码置于 

get_header(); 一行,并在文件编辑器上的PHP结束标签?>之后。

<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

上述片段是在你的帖子上加载来自Cloudflare网站的turnstile api.js。单击 "更新文件 "按钮,保存更改。

为WordPress评论添加Cloudflare Turnstile验证图文教程插图4

对于第二段代码,从主题文件列表中选择 functions.php 文件,在文件编辑器的底部放置以下代码。

function wpp_cloudflare_turnstile($submit_field) { 

$submit_field['submit_field'] = '<div class="cf-turnstile" data-sitekey="your-site-key" data-callback="javascriptCallback"></div>'.$submit_field['submit_field'];

return $submit_field;

}

if (!is_user_logged_in()) {

add_filter('comment_form_defaults', 'wpp_cloudflare_turnstile');

}

function wppturnstile_check() {

$postdata =$_POST['cf-turnstile-response'];

//add secret key

$secret="your-secret-key";

$headers = array(

'body' => [

'secret' => $secret,

'response' => $postdata

]

);

$verify = wp_remote_post('https://challenges.cloudflare.com/turnstile/v0/siteverify', $headers);

$verify = wp_remote_retrieve_body($verify);

$response = json_decode($verify);

if($response->success) {

$results['success'] = $response->success;

} else {

$results['success'] = false;

}

if(empty($postdata)){

wp_die(__("<b>ERROR: </b><b>Please click the captcha checkbox.</b><p><a href="https://www.banzhuti.com/javascript:history.back()">« Back</a></p>"));

} elseif(!$results['success']){

wp_die(__("<b>Sorry, spam detected!</b>"));

} else {

return true;

}

}

if (!is_user_logged_in()) {

add_action('pre_comment_on_post', 'wppturnstile_check');

}

在你保存代码之前,你需要添加你在turnstile账户上创建的site key和secret key。

  • 在代码的第二行,把your-site-key替换你的secret key
为WordPress评论添加Cloudflare Turnstile验证图文教程插图5
  • 在代码的第14行,把your-site-key换你的secret key
为WordPress评论添加Cloudflare Turnstile验证图文教程插图6

在你把你的site key和secret key添加到代码中后,通过点击更新文件按钮保存你所做的更改。

上面的代码检查Cloudflare Turnstile的响应是否存在,然后采取相应行动。如果不存在,那么可能会有一个挑战,即先点击复选框,需要通过。

如果响应是存在的,继续检查是否是成功的,以允许评论被张贴。否则,会有一个 "对不起,检测到垃圾邮件 "的消息。

第3步:尝试以访客身份发表评论

由于代码只在您未登录的情况下显示Cloudflare turnstile widget,那么您需要注销或在隐身模式下打开页面以显示该部件。以下是它在我们网站上的样子。

为WordPress评论添加Cloudflare Turnstile验证图文教程插图7

最后总结

Cloudflare Turnstile可提供保护,防止您的登录页面、注册页面或评论表单受到垃圾邮件或滥用,这是一个比验证码更聪明的解决方案,使您免于使用恼人且耗时的验证码。

因此,如果你有垃圾评论的问题,那么Cloudflare Turnstile可以为你缓解这些问题。本教程告诉你如何将Cloudflare Turnstile添加到你的WordPress评论功能中,以过滤掉机器人对你的网站进行垃圾评论,而无需使用任何插件。

标签:

提交需求或反馈

Demand feedback