WordPress 评论添加验证码

2019年12月12日12:03:54 发表评论 68 views

垃圾评论是无法避免的,一般可以开启评论审核不让垃圾评论第一时间显示,但这并不能阻断垃圾评论的产生。所以我们需要验证码防止机器人评论广告信息,不用安装任何插件就能现实现证码功能。

前面我们讲过几篇关于解决垃圾评论的方法《WordPress网站被垃圾评论攻击》、《WordPress解决垃圾评论的12个方法》、《WordPress评论检查中文》,不想开启验证码功能的也可以去尝试一下。

WordPress 评论添加验证码

实现验证码功能方法,将以下代码添加到当前主题的 functions.php 中:

一:数字加法两个随机数验证码

  1. function loper_protection_math(){
  2. # 数字加法两个随机数, 范围0~99
  3. $num1=rand(0,9);
  4. $num2=rand(0,9);
  5. echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\" placeholder=\"$num1 + $num2 = ?\" >\n";
  6. echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n";
  7. echo "<input type=\"hidden\" name=\"num2\" value=\"$num2\">";
  8. echo "<label for=\"math\">请输入(计算结果)</label>\n";
  9. }
  10. function loper_protection_pre($commentdata){
  11. $sum=$_POST['sum'];
  12. switch($sum){
  13. case $_POST['num1']+$_POST['num2']:
  14. break;case null:err('错误: 请输入验证码。');
  15. break;default:err('错误: 验证码错误。');}
  16. return $commentdata;}
  17. if($comment_data['comment_type']==''){
  18. add_filter('preprocess_comment','loper_protection_pre');}

二:英文数字随机数验证码

  1. function loper_protection_math(){
  2. $num1=substr(md5(mt_rand(0,99)),0,5);
  3. # 英文数字随机数, 范围0~99
  4. echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\">\n";
  5. echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n";
  6. echo "<label for=\"math\" >请输入( $num1 )</label>\n";
  7. }
  8. function loper_protection_pre($commentdata){
  9. $sum=$_POST['sum'];
  10. switch($sum){
  11. case $_POST['num1']:
  12. break;case null:err('错误: 请输入验证码。');
  13. break;default:err('错误: 验证码错误。');}
  14. return $commentdata;}
  15. if($comment_data['comment_type']==''){
  16. add_filter('preprocess_comment','loper_protection_pre');}

调用代码:

  1. <?php loper_protection_math();?>

©里维斯社,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: