返回》

不用插件在WordPress评论中添加reCAPTCHA教程

对于许多WordPress的用户来说,垃圾评论仍然是一个很大的问题,他们利用它的评论功能与他们的访问者互动。例如,小伙伴可能期望使用评论功能作为一个媒介来推广产品或在某些情况下提供技术支持,但我们可能经常收到不相关的垃圾评论,这可能导致其他用户成为网络安全攻击的受害者。在你的WordPress评论功能中添加reCAPTCHA可能会帮助你防止那些垃圾评论出现在你的网站上。reCAPTCHA可以提供保护,通过使用先进的风险分析引擎和自适应验证码来缓解机器人造成的垃圾邮件或滥用,因此只有有效的用户可以在你的网站上发表评论。本教程搬主题将向你介绍如何在你的WordPress评论功能中添加谷歌的reCAPTCHA,以过滤掉垃圾机器人对你的网站评论的干扰,而不涉及任何插件的设置操作图文教程。在WordPress评论中添加reCAPTCHA第1步:设置reCAPTCHA在你使用reCAPTCHA之前,你需要先设置它。首先访问谷歌reCAPTCHA网站,然后点击V3管理控制台(以前的管理控制台)。如果你已经登录了你的谷歌账户,你将被直接带到reCAPTCHA注册页面,否则你将被要求先登录。在注册页面,你需要填写所有必要的字段和选项,以获得一个Site Key和一个Secret Key,如下所示:首先添加一个标签选择reCAPTCHA v2(使用 “我不是一个机器人 “的挑战来验证)添加您的网站域名(例如wppagebuilders.com)。勾选接受reCAPTCHA服务条款的复选框点击 “提交 “按钮,完成设置并获得你的reCAPTCHA key。一旦你拿到keys,让我们开始在你的WordPress评论中添加reCAPTCHA。第2步:将reCAPTCHA代码添加到主题文件中。下一步是在你的主题文件中添加代码段,以便在你的网站上启用reCHAPTCHA。在你开始向你的主题文件添加代码段之前,你可能想备份你的网站,并使用一个子主题,以避免破坏父主题或在你更新主题时丢失你的改动。我们需要为主题中的两个文件添加代码片段,即single.php文件和 functions.php文件。一旦你准备好了,导航到外观→主题文件编辑器,然后点击主题文件中的single.php,打开文件编辑器,在get_header();行后添加以下代码片段。上面的代码段是为了从谷歌加载reCAPTCHA api.js。一旦你添加了这个片段,点击更新文件按钮,保存对文件的修改。继续从主题文件列表中选择 functions.php 文件,在文件编辑器的底部添加以下代码。/** * Google reCAPTCHA: Add widget before the submit button */ function add_google_recaptcha($submit_field) { $submit_field['submit_field'] = ''.$submit_field['submit_field']; return $submit_field; } if (!is_user_logged_in()) { add_filter('comment_form_defaults', 'add_google_recaptcha'); } /** * Google reCAPTCHA: verify response and validate comment submission */ function is_valid_captcha_response($captcha) { $captcha_postdata = http_build_query( array( 'secret' => 'Your_reCAPTCHA_Secret_Key', 'response' => $captcha, 'remoteip' => $_SERVER['REMOTE_ADDR'] ) ); $captcha_opts = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $captcha_postdata ) ); $captcha_context = stream_context_create($captcha_opts); $captcha_response = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify", false, $captcha_context), true); if(!empty($captcha_response['success'])){ return true; }else{ return false; } } function verify_google_recaptcha() { $recaptcha = $_POST['g-recaptcha-response']; if(empty($recaptcha)){ wp_die(__("ERROR: Please click the captcha checkbox.« Back")); }elseif(!is_valid_captcha_response($recaptcha)){ wp_die(__("Sorry, spam detected!")); } } if (!is_user_logged_in()) { add_action('pre_comment_on_post', 'verify_google_recaptcha'); }在你去保存你所做的修改之前,你需要将你的Site Key和Secret Key从第1步添加到代码中,如下所示:将你的Site Key添加到$submit_field变量的data-sitekey中。将你的密匙添加到$captcha_postdata数组中的密匙。而一旦你添加了这两个键,你就可以通过点击更新文件按钮继续保存你对文件所做的修改。第3步:在激活reCAPTCHA的情况下尝试评论在你做完前面的所有步骤后,现在你只需要尝试以访客身份发表评论,因为如果你已经登录,验证码的挑战就不会出现。从上面的图片可以看出,”我不是机器人”的挑战就在我们的评论按钮上方。要发表评论,访问者需要先通过挑战才能发表。最终总结在你的WordPress评论功能中添加reCAPTCHA可以帮助你防止垃圾评论,通过使用高级的风险分析引擎和自适应验证码提供保护,防止机器人造成的垃圾或滥用,因此只有有效用户才能在你的网站上发表评论。本教程告诉你如何在你的WordPress评论功能中添加reCAPTCHA,以帮助你过滤掉机器人对你网站的垃圾评论。
THE END