• 后羿更新网站文章可能不会那么闲了

  • 不得不说,美国贴吧的界面真是难看到死

  • 看到网上新闻美国的贴吧将成为中国公司

  • 推送试试

  • 睡觉之前测试一下

  • 发现了一个非常不错的插件

  • 经过确认,微软的必应搜索在中国被屏蔽

  • 给主题增加一个阿里云的代码库

  • 正式通知一下,有赞支付已经停止业务了

  • 给网站增加一个离线缓存功能

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

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

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

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

前言

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

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错误
三种代码方式彻底屏蔽WordPress垃圾评论

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

如果你确认你的网站没有外国友人访问的话,那么就添加上吧,我们知道我们的很多垃圾评论都是含有英文字母和日文的,所以屏蔽掉外文就好了,在主题函数文件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自带的屏蔽垃圾评论的功能也可以用用,虽然比较弱,文中的第二个代码从本网站主题里面扣出来,其他代码整理自互联网

-- 完 --
三种代码方式彻底屏蔽WordPress垃圾评论
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用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