推荐几种防御wordpress垃圾评论的方法

上周博客突然不能访问了,问了下服务器商说是我流量太太,影响到了服务器的正常运行。我草,不至于啊。下载带本地一看,两千多垃圾评论。我才明白应该是垃圾评论导致的服务器的负载过高。然后我没办法只好暂时关闭了评论。然后网站各种搜索解决办法,总结起来:垃圾评论不可能测底清除的,做的再好还是会有的,只能自己手动清理了。但是不至于导致服务器负载过高挂掉。

我用了两个方法,这里给分享下,因为迟早你会用到的,哈哈!!

1、屏蔽所有全是英文(不包含汉字)的评论。

只需修改你当前使用的主题目录下的functions.php就可以了,而且不会受到的WordPress升级的影响。具体修改:打开当前使用的主题目录下的functions.php,在最后加上下面代码。这个可以屏蔽很多纯英文的垃圾评论,垃圾评论中英文占比很大的 。

 代码如下 复制代码

function scp_comment_post( $incoming_comment ) {
    $pattern = '/[一-?]/u';

    // 禁止全英文评论
    if(!preg_match($pattern, $incoming_comment['comment_content'])) {
        wp_die( "You should type some Chinese word (like "你好") in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!" );
    }
    return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');

2、修改wp-comments-post.php的文件名,让机器人找不到评论入口。(参考威言威语)

我们都知道,绝大部分的垃圾评论都是通过post网站根目录下的wp-comments-post.php来提交垃圾评论的,我们让其找不到post的入口,那么它就不能发垃圾评论了。对于普通用户而言,正常情况下,不管你使用的什么主题,通用的解决方法是:

将博客根目录下面的wp-comments-post.php改名,改成什么都可以,比如 no-comments-post.php

打开主题的里面的comments.php,找到代码里面的 wp-comments-post.php ,将其改为 no-comments-post.php

改的名字跟之前修改的名字一样就行了,建议改的不要这么规则,防止垃圾评论发布机制升级通过什么正则匹配来猜某些类似的地址。

这个主要就是通过修改评论路径,让垃圾评论发表找不到入口,从而屏蔽垃圾评论,目前我使用下来还是很不错的,如果你的WordPress也有很多垃圾评论,不妨也用用这个方法。

防止同一ip重复发垃圾评论、如果发某一ip有垃圾评论,那么24小时,将不让提交评论。

你需要做的就是把下面一小段代码,加入到你WordPress主题的functions.php文件中:

 代码如下 复制代码

//整治垃圾评论
if(!function_exists('antispam_check')):
function antispam_check($comment) {
 global $wpdb;
 $query = $wpdb->prepare('SELECT COUNT(*) AS SPAM_COUNT, MAX(comment_date_gmt) AS LAST_SPAM_DATE FROM '.$wpdb->comments.' WHERE comment_approved = 'spam' AND comment_author_IP = %s', preg_replace( '/[^0-9a-fA-F:., ]/', "",$_SERVER['REMOTE_ADDR'] ));
 $comment_count = $wpdb->get_row($query, ARRAY_A);
 if($comment_count['SPAM_COUNT'] >= 1) {
 wp_die('你屡次作恶,管理员已经忍无可忍永久封掉了你的IP地址,如果你对此有任何疑问请联系管理员。');
 }elseif($comment_count['SPAM_COUNT'] > 0 && gmmktime()-strtotime($comment_count['LAST_SPAM_DATE'], gmmktime())<24*3600) {
 wp_die('你有过作恶的不良记录,24小时的不能发言,如果你对此有任何疑问请联系管理员。');
 }
 return $comment;
}
endif;
add_action('preprocess_comment', 'antispam_check');

当然了还有朋友说利用相关插件下面我也整理一些

1.Akismet

Akismet 是 WordPress 官方推荐的一款 WordPress 防垃圾评论插件,功能很强大,激活Akismet后,就可以自动拦截过滤大多数的垃圾评论,然而 Akismet 默认是没有启用和激活的,今天倡萌就给新手朋友演示一下如何激活Akismet防垃圾评论插件。

2.Math Comment Spam Protection 3.0的插件

当然评论问题全是英文,只要自己翻译下error的英文就可以了。试用几天后果然感觉不错,推荐有blog的朋友可以试试……

时间: 2024-08-28 03:18:40

推荐几种防御wordpress垃圾评论的方法的相关文章

彻底的杜绝wordpress垃圾评论的方法

wordpress的垃圾评论可是异常的多啊,不过好在wordpress自带的插件能屏蔽80%以上的垃圾评论,机器自动发的,都被存到了垃圾评论里面. 今天看了看,垃圾评论每秒至少5个,虽然大部分垃圾评论被阻止了,但这样频繁的操作数据库,不仅数据库被搞大了,而且经常还有些漏网之鱼,导致我邮箱是不是弹出你有评论待审核,非常的烦啊.   网上搜索了下,很多垃圾评论插件,比如加验证码啥的,虽然有用,但是损害了用户体验呐.根据以往搞SEO的经验,也群发过垃圾信息. 这类垃圾评论都是先网上搜索对应的接口文件,

WordPress垃圾评论解决

建站之后,不知何时,就收到大量的垃圾评论.真的是对这些发垃圾评论的无语了,发的还是乱七八糟的东西.这里记录查找方法时发现的几种方法. Akismet插件 Akismet是wordpress官方插件,基于机器学习过滤.需要注册,然后拿到key来激活,原本以为要付费,原来有免费版本,充值时选择价格为0即可. 目前使用这个插件,过滤效果很好. 修改wp-comments-post.php 即修改提交页面的网址,并且修改内部代码.如果垃圾评论机是写死评论提交网址的,就会提交失败,从而达到屏蔽垃圾. 可是

如何防止wordpress 垃圾评论

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 使用wordpress做网站的朋友最头疼的一个事情就是垃圾评论,如果不做一些措施,几乎每天都有很多带网址.中英文排版混论等垃圾评论产生,这些垃圾评论严重影响到网站的质量以及用户体验,如何防止wordpress 垃圾评论,你可以让每一条评论都审核,但是这个比较麻烦,如果说用程序来控制,那就省事多了,武汉seo闲人这里从机器群发评论以及手动评论两

wordpress垃圾评论的验证码插件

考察了好多款wordpress垃圾评论的验证码插件: 有一长串字符的:明显不方便,放弃: 有英文加数字的:也不方便,放弃: 有潦草英文的:输入错误率太高,放弃: 有看问题,选答案的:浪费评论者时间且不一定做对题目,放弃: 有将图案拖拉到指定位置的:麻烦且不好玩,放弃: 有简单数字加减法的:这个算是最简单的了,可是还要改主题中的文件代码,也放弃了: 最后,选择了[WP Pineapple]这款wordpress垃圾评论的验证码插件,WP Pineapple 在评论表单中增加了4个水果图片,评论者只

三招教你快速屏蔽WordPress垃圾评论

一般都是说加一些屏蔽过滤的函数之类的.其实都差不多.不过有些特别长的就显得有点累赘了.当然比起官方的垃圾过滤插件肯定功能没那么强大,但是最起码会让你的身材很好看.不会在你的数据库弄那么多东西进去.今天分享几个实用小代码吧,而且效果还不错.大家也可以试试,不错可以收藏一下. 第一招:禁止非法词汇评论提交到数据库,把下边的代码放到当前主题的 functions.php 里,然后在后台"讨论"中设置你的黑名单即可. //禁止垃圾评论提交到数据库 function Banfuckspam($c

修改PHP脚本使WordPress拦截垃圾评论的方法示例_php技巧

拦截英文垃圾评论 由于绝大多数的垃圾评论都是英文的,所以国内不少朋友在使用 Some Chinese Please 插件,它可以有效地拦截内容中不带有中文字的comment和trackback(pingback),不写入数据库中,可有效地减小spam对blog服务器的无谓使用.虽然已经 2 年多没有更新,但还是可用的. 其实还可以简化下,直接将下面的代码添加到主题的 functions.php 文件,效果与使用 Some Chinese Please 插件相同: /* refused spam

PHP实现通过中文字符比率来判断垃圾评论的方法_php技巧

本文实例讲述了PHP实现通过中文字符比率来判断垃圾评论的方法.分享给大家供大家参考.具体实现方法如下: 一.需求: 最近一段时间常常出现这类垃圾评论:一大段英文字符里夹杂一两个生僻汉字,包含了中文字符,而且又没包含啥中文的敏感词,所以就堂而皇之的通过了评论过滤.对这类评论的处理可以采取判断中文字符的比率来确认,但是也会存在一定的误判. 二.解决方案: 要用到php的两个函数strlen和mb_strlen,strlen会把单个汉字长度认定为3,mb_strlen单个汉字长度为1.同一段字符通过两

WordPress 删除待审核/垃圾评论的方法总结

通过上面的sql语句,我们很清楚的明白,wordpress评论表为wp_comments ,comment_approved 为评论回应的字段 comment_approved 等于1:通过审核的评论 comment_approved 等于0:待审核的评论 comment_approved 等于trash:  回收站的评论 comment_approved 等于spam : 垃圾评论 详细的介绍如下 方法一:删除待审评论.垃圾主论,回收站评论.  代码如下 复制代码 delete FROM `w

wordpress屏蔽垃圾评论的方法

大部分垃圾评论都是用自动化软件来发的,它会先GET一个页面,然后再往wp-comments-post.php文件POST内容. 例如: "GET /archives/589.html HTTP/1.1" 200 8490 "POST /wp-comments-post.php HTTP/1.1" 302 26 垃圾评论当中80%以上都是福建莆田市IP发的,鄙视下. 1.使用插件 垃圾评论过滤:Akismet插件 wordpress评论滑动解锁:myQaptcha插件