WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › 与垃圾评论斗争到底!WordPress 5大反 SPAM 代码

与垃圾评论斗争到底!WordPress 5大反 SPAM 代码

PCDotFan8年前

与垃圾评论斗争到底!WordPress 5大反 SPAM 代码-WP酷 在此之前我曾收集过 Willin Kan 大神的 Anti Spam 版本集合,为了让 WordPress 反垃圾评论机制更加强劲,这次就与大家共同分享:WordPress 5大反垃圾评论代码。原文来自于 Fatesinger,感谢发哥!

以下所有代码均可以复制至主题文件functions.php 中直接使用。

 

如果有过长的链接,则自动标记为垃圾评论

大多数垃圾评论都带着很长的链接,所以对于这些漏网之鱼,如果链接的长度超过50字符,则自动标记为垃圾评论是个不错的办法。

<?php

  function rkv_url_spamcheck( $approved , $commentdata ) {
    return ( strlen( $commentdata['comment_author_url'] ) > 50 ) ? 'spam' : $approved;
  }

  add_filter( 'pre_comment_approved', 'rkv_url_spamcheck', 99, 2 );

?>

 

移除评论信息中的网站地址

function remove_comment_fields($fields) {
    unset($fields['url']);
    return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

 

去除评论中的链接

直接将下面的代码放到functions.php中,简单粗暴

remove_filter('comment_text', 'make_clickable', 9);

 

给评论中的链接自动加上 Nofollow

add_filter('comment_text', 'auto_nofollow');

function auto_nofollow($content) {
    //return stripslashes(wp_rel_nofollow($content));

    return preg_replace_callback('/<a>]+/', 'auto_nofollow_callback', $content);
}

function auto_nofollow_callback($matches) {
    $link = $matches[0];
    $site_link = get_bloginfo('url');

    if (strpos($link, 'rel') === false) {
        $link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link);
    } elseif (preg_match("%href=S(?!$site_link)%i", $link)) {
        $link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link);
    }
    return $link;
}

 

Anti-Spam v1.90 

 /* -----------------------------------------------
 <;<小牆>> Anti-Spam v1.9 by Willin Kan.
 */
 //建立
 class anti_spam {
   function anti_spam() {
     if ( !is_user_logged_in() ) {
       add_action('template_redirect', array($this, 'w_tb'), 1);
       add_action('pre_comment_on_post', array($this, 'gate'), 1);
       add_action('preprocess_comment', array($this, 'sink'), 1);
     }
   }
   //設欄位
   function w_tb() {
     if ( is_singular() ) {
       ob_start(create_function('$input', 'return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
    "textarea$1name=$2w$3$4/textarea><textarea name=\"comment\" cols=\"60\" rows=\"4\" style=\"display:none\"></textarea>", $input);') );
      }
   }
   //檢查
   function gate() {
     ( !empty($_POST['w']) &;& empty($_POST['comment']) ) ? $_POST['comment'] = $_POST['w'] : $_POST['spam_confirmed'] = 1;
   }
   //處理
   function sink( $comment ) {
     if ( !empty($_POST['spam_confirmed']) ) {
       //方法一:直接擋掉, 將 die(); 前面兩斜線刪除即可.
       //die();
       //方法二:標記為spam, 留在資料庫檢查是否誤判.
       add_filter('pre_comment_approved', create_function('', 'return "spam";'));
       $comment['comment_content'] = "[ 小牆判斷這是Spam! ]\n" . $comment['comment_content'];
     }
     return $comment;
   } 
}
$anti_spam = new anti_spam();
// -- END ----------------------------------------

 

#wordpress anti spam#wordpress 垃圾评论
0
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (8)
再想想
  • box

    神器!

    8年前
  • 西瓜皮皮

    大神,

    8年前
  • 小z

    哈哈,全是用的代码实现,正好合我口味,这就添加上。顺便补充一下还有一串禁止全英文和全日文的代码:

    //屏蔽纯英文评论和纯日文
    function inlojv_comment_post( $incoming_comment ) {
    $pattern = '/[一-龥]/u';
    // 禁止全英文评论
    if(!preg_match($pattern, $incoming_comment['comment_content'])) {
    wp_die( "您的评论中必须包含汉字!" );
    }
    $pattern = '/[あ-んア-ン]/u';
    // 禁止日文评论
    if(preg_match($pattern, $incoming_comment['comment_content'])) {
    wp_die( "评论禁止包含日文!" );
    }
    return( $incoming_comment );
    }
    add_filter('preprocess_comment', 'inlojv_comment_post');
    //屏蔽垃圾留言END

    8年前
  • Aspirant Zhang

    Nice!

    8年前
  • cy

    水过。。

    8年前
  • cy

    原站跳过去的。。换域名换主题换链接结构。。

    8年前
  • 留芳网

    大多数垃圾评论都带着很长的链接,所以对于这些漏网之鱼,如果链接的长度超过50字符,则自动标记为垃圾评论是个不错的办法。
    这个怎么把它变成直接挡掉呢?

    7年前
  • 留芳网

    就是不添加垃圾评论,直接让它不能评论。

    7年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
WordPress添加AJAX文章点赞功能
9年前
为评论添加个性头像 玩转Gravatar全球通用头像
10年前
WordPress 出现侧边栏错位原因分析及解决方法
8年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1