• 明天我们家宝宝满月了
  • 一晚上忙了好几个小时,终于把支付前台通知解决了
  • 原计划要增加另外一种支付方案,现在可能要被搁置了
  • 今天上午刚刚注册了华为云,然后刚刚华为云的客服小姐姐就来电话了,小姐姐声音挺好听的
  • 今天无意中注册了华为云,然后发现跟阿里云基本一个模样,甚至连价格都一样
  • 继续测试一下
  • 发现一个问题就是,微信语音发送说说的时候,不要拦截没有UA的数据请求
  • 测试一下连接
  • 终于下雪了
  • 有赞的支付暂时用不了了,所以重新开发另一个支付插件

三种代码方式彻底屏蔽WordPress垃圾评论

WordPress 云落 4年前 (2014-11-12) 970次浏览 已收录 8个评论
文章目录[隐藏]

多种方式联合组合,彻底屏蔽WordPress垃圾评论,让你的网站远离垃圾评论

spamcomment

前言

前段时间写过一篇关于屏蔽垃圾评论插件的文章

WordPress插件无忧墙:对垃圾评论说NO

在这篇文章里面介绍了一款简单的屏蔽垃圾评论的方法,但是一个是不能彻底屏蔽垃圾评论,另一方面,处女座肯定想去掉插件的。今天云落给朋友推荐一个屏蔽垃圾评论的组合策略方案。

一、屏蔽指定IP的访问与评论

我们在后台都会看到评论的IP地址的,有些的垃圾评论的IP地址可能都没怎么换,那么看到发垃圾评论的IP地址果断屏蔽之,直接拒绝他们访问网站。
如果你们是阿帕奇服务器的话,打开根目录的.htaccess文件,在最底部添加这段代码

Order Allow,Deny
Deny from 114.231.65.219
Deny from 218.28.140.186
Deny from 221.204.241.24
Deny from 114.231.67.56
Deny from 114.231.65.219
Deny from 220.200.48.183
Allow from all

其中的数字就是要屏蔽的IP地址,一行一个,添加IP地址之后访问就是一个403错误
20141112160156

二、屏蔽含有英/日文的评论

如果你确认你的网站没有外国友人访问的话,那么就添加上吧,我们知道我们的很多垃圾评论都是含有英文字母和日文的,所以屏蔽掉外文就好了,在主题函数文件function.php添加以下代码即可

//评论过滤
function refused_spam_comments( $comment_data ) {
$pattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(!preg_match($pattern,$comment_data['comment_content'])) {
err('写点汉字吧,博主外语很捉急!You should type some Chinese word!');
}
if(preg_match($jpattern, $comment_data['comment_content'])){
err('日文滚粗!Japanese Get out!日本語出て行け! You should type some Chinese word!');
}
return( $comment_data );
}
add_filter('preprocess_comment','refused_spam_comments');

三、屏蔽含有关键词评论

其实以上两种已经基本可以解决绝大多数的垃圾评论了,再加上这个屏蔽关键词的方法就更完美了

//拒绝含有关键字的评论
function in_comment_post_like($string, $array) {
    foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
    return false;
}
function drop_bad_comments() {
    if (!empty($_POST['comment'])) {
        $post_comment_content = $_POST['comment'];
        $lower_case_comment = strtolower($_POST['comment']);
        $bad_comment_content = array(
            '水水更健康',
            '楼主再见',
            '路过',
            '这是一个关键词'
        );
        if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
            $comment_box_text = wordwrap(trim($post_comment_content), 80, "n  ", true);
            $txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
            fwrite($txtdrop, "  --------------n  [COMMENT] = " . $post_comment_content . "n  --------------n");
            fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "n");
            fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "n");
            fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "n");
            fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "n");
            fwrite($txtdrop, '--------------**********------------------'."n");
            header("HTTP/1.1 406 Not Acceptable");
            header("Status: 406 Not Acceptable");
            header("Connection: Close");
            err( __('卧槽,你好像在发广告吧 ̄□ ̄||') );//自定义错误信息
        }
    }
}
add_action('init', 'drop_bad_comments');

在代码里面添加关键词即可拒绝垃圾评论了,然后happy

注意事项

[v_organge]第二,第三种方法默认的评论是采用ajax的方式评论的,通俗的说就是,无刷新出现评论结果,如果你的评论不是ajax的,需要将代码里面的err替换为wp_die,否则会出错滴,谢谢WordPress吧友的提醒[/v_organge]

后语

其实除了上面的三种方法之外,WordPress自带的屏蔽垃圾评论的功能也可以用用,虽然比较弱,文中的第二个代码从本网站主题里面扣出来,其他代码整理自互联网

-- 完 --
weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:三种代码方式彻底屏蔽WordPress垃圾评论
喜欢 (3)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. 博主好,我采用的是多说,这个方法可行吗?
    alinwei2015-02-14 13:11 回复 Windows 7 | Chrome 40.0.2214.111
    • 云落
      布吉岛,我说的自带的评论,多说好像不需要吧
      云落2015-02-14 13:23 回复 Windows 8.1 | Firefox浏览器 31.0
  2. 博主 . .第三个方法中 wp_die() 输出错误信息, 按照第二种方法看, 应该是err()文章后面应当说明一下. ajax 评论用 err() ,否则用wp_die()ps:wp吧友.
    小武2014-11-18 11:56 回复 Windows 8.1 | Chrome 38.0.2125.122
    • 云落
      多谢,测试了下,是的
      云落2014-11-18 13:31 回复 Windows 8.1 | Firefox浏览器 31.0
  3. 日语滚粗……这…… :arrow:
    家香2014-11-17 12:02 回复 Windows 7 | Chrome 38.0.2125.111
    • 云落
      :lol: :lol: 嘿嘿
      云落2014-11-17 12:14 回复 Linux | Safari浏览器 534.24
  4. 前來支持一下~挺實用的!!PS:歡迎訪問小站 WWW.AREFLY.COM 哦~
    超級efly2014-11-16 13:27 回复 Mac OS X | Chrome 38.0.2125.122
    • 云落
      目前使用这几个方法
      云落2014-11-16 14:16 回复 Windows 8.1 | Firefox浏览器 31.0