另类的屏蔽WordPress博客留言spam的方法
Spam伴随着互联网的诞生而诞生,任何站长都不可避免,尤其是现在软件比较发达,群发可以取得蛮不错的效果,会有更多的人为了利益趋之若鹜。打击博客留言spam的方法数不胜数,就WordPress来说,相关的插件多如牛毛,其中默认的Akismet更是帮助我们屏蔽了大量的垃圾留言。不过近期类似于“山东SEO”、“淘宝XX”、“减肥”和“欢迎博客回访”的垃圾留言越来越多,搞得我连删除他们的心思都没有了。所以不得不采取一些非主流的方法去搞死他们。
屏蔽IP
因为垃圾留言大多数是软件群发,少部分人是不遗余力的手工,不要担心损失这些IP流量,直接使用下面的三种方法屏蔽掉他们的IP,如若是软件群发的基本上不会再受他的骚扰,比如之前烦死人的“山东SEO”的整个IP段已经被我屏蔽,哥很忙,不喜欢没事去删除垃圾留言。
- 使用WordPress Ban插件,可以在后台控制那些IP不是受欢迎的。
- Linux主机可以使用.htaccess屏蔽IP地址,详情查看使用.htaccess屏蔽某一个国家或者地区的所有IP。
- 使用主机的控制面板屏蔽IP地址,cPanel和大部分主机面板都支持整个功能。
推荐后两种方法,可以尽量不适用插件。
使用JavaScript拦截输入信息
我自己想到的一个不是很完美的方法,目前还在研究,但是提前放出代码供参考。针对留言作弊的目的就是在author那里输入关键词,使用JavaScript可以过滤一些为关键词的留言,优点是在客户端执行,从源头上制止,缺点是过滤词组需要手工添加。
function CheckSpam()
{
var str = document.getElementById(“author”).value;
var arr = new Array(“淘宝”,”SEO”,”群发”,”备案”);
for(var i=0; i<arr.length; i++)
{
if(str.indexOf(arr[i])>-1)
{
return false;
//alert (“您的姓名还有不允许的字符:”+arr[i]);
commentform.author.focus();
break;
}
else
{
return true;
//alert (“没有问题”+str1);
break;
}
}
}
然后在使用的默认的主题的comments.php的form事件那里加上onsubmit=”return CheckSpam()”即可。原先在提交按钮那里做的一个onclick虽然可以弹出窗口提示输入者的author不要输入被屏蔽的关键词(如下图所示),不过那样的话无法阻止WordPress处理表单的提交,看来我的JavaScript还是小菜,亟需提高。需要过滤的词组在代码中,按照这样的格式添加即可。

反spam是一场持久战,我曾经去掉了留言的nofollow,但是每天少则几条,多则几十条的垃圾留言让我十分不爽,所以我直接学着万戈的方法对所有留言加了301重定向,现在大部分在我博客留言的都是老朋友的,有些都是有友情链接的,如果您因为我小气而屏蔽掉我的博客,我也无话可说。
PS:准备清理长期不更新的博客链接了!原创、每周有更新,并且来过我的博客的,不限PR都可以Email我,rjgc(#)vip.qq.com。

2010/06/02 于 11:46:30
不错,这对人肉spam会有效的
2010/06/02 于 14:26:52
貌似我的站还没那么多垃圾。
2010/06/02 于 14:49:24
你的博客是应用你推荐的空间做的吗,速度相当理想
可惜我已经购买了小张的空间,送独立ip很好很强大的
可惜速度有点不理想
2010/06/02 于 14:50:45
是的 我的服务器在上海真如电信托管着呢
小张的空间也蛮不错的 速度是因为空间在美国吧
2010/06/02 于 16:19:47
我也想设置一个,还是没敢去掉NOFLLOW
2010/06/02 于 16:20:38
你这里都是熟人啊,老万跑的很勤快,能否与飞哥做个友情啊?
2010/06/04 于 17:05:40
因为他们都订阅了呗。
可以做友链但是俺不做博百优的 O(∩_∩)O哈哈~
2010/06/05 于 14:33:32
你就刺激我!也就剩最后一个月了啊!一个月后在做回来,好不?
2010/06/05 于 18:06:57
好吧 看你很辛苦~~ Mail我链接详情
2010/06/02 于 16:49:09
我都是人工审核
2010/06/02 于 17:57:33
图像缓冲是什么插件做的啊?看起来很炫
2010/06/02 于 20:02:17
主题自带的jQuery效果 我也没研究过
2010/06/02 于 18:27:26
试试看有效不 = =||
后台讨论设置里的关键词过滤是不是不过滤昵称的?
2010/06/02 于 20:02:54
嗯 留言内容有Akismet插件过滤
2010/06/02 于 20:01:28
为啥要屏蔽呢。。。
2010/06/04 于 17:06:46
因为很多事机器发的没有意义的评论
还得浪费我时间去删除
PS:像你这样推广一个品牌的淘客效果怎么样?
2010/06/03 于 05:59:40
我没用wp
zblog也不错
2010/06/03 于 08:34:26
有开发好的插件吗。拿来用。
2010/06/03 于 09:40:07
这类东西防不胜防,有空学点hack的东西,谁来发链接就黑谁哈哈!这是跟一博友学的!够贼吧
2010/06/03 于 13:52:29
能判断 评论表单填写的正确性吗?
2010/06/03 于 16:12:02
Er。。我只用Akismet。
2010/06/03 于 18:36:27
好用吗 。 试试。。
2010/06/05 于 09:54:30
很久以前在万戈那边也看到过这个方案,知道我为什么没有装水煮鱼的这个/?rURL插件吗
是因为我想起了你的博客连留言的nofollow都去掉了…
2010/06/05 于 11:02:13
事实证明我错了,算了,最近没时间管理博客,我也用这种方式好了..
2010/06/05 于 14:58:25
我也是啊 我本想给老熟人们一点好处的。可惜啊!!!垃圾留言泛滥了,bigshit
2010/06/05 于 11:30:57
方法很好,不知道效果怎么样
2010/06/07 于 12:45:54
哈哈,我也要链接
2010/07/03 于 01:18:38
我光用代码把纯英文屏蔽了,手工的很少……
2010/07/12 于 12:05:47
有意思。。
2010/07/12 于 17:02:38
看了还不会用,还有其它方法吗?
2010/07/23 于 09:32:20
原创、每周有更新,并且来过我的博客的,不限PR都可以Email我,rjgc(#)vip.qq.com。..我看到了…
我也看到了上面的名人们…
博客圈真大.我逛了几个月了才逛到你这…那个什么点名有点忽悠人了..回到原点…从博客一个链接一个链接点下去,我估计能点到我孙子辈了…才能回到我的博客.
2010/07/23 于 11:55:58
还好没人点我 不然要自己爆菊了