简单说说我击退SPAM大军(垃圾评论)的方式
今天发现吃饱了撑着已经被SPAM大军盯上了,午饭前本想找反垃圾插件应对,午饭后想想还是自己修改源码处理一下吧,一顿饭改变了我的想法,原因有二,但均与饭无关。
首先,不想让一堆插件把WordPress搞得越来越臃肿,能不用插件最好不用;其次,很明显,SPAM大军的狙击是有针对性的,为了覆盖面广,让更多的人看见它们乱丢垃圾,不难想象它们的狙击对象主要是大众化的博客程序(如WordPress),以及知名度高、流量大的博客等,也就是说,只要你按常理出招,如采用WordPress建立你的博客,那么SPAM大军自然懂得如何接招了。但是,只要把招式略作变幻,即可将SPAM大军击退。
一般来说,SPAM大军不会为了个别博客的招式变幻而进行见招拆招,除非是知名度高、流量大的博客。至于我的招式变幻,大概的思路是,判断评论者是否在评论内容文本框中,通过敲击键盘输入内容,倘若没有的话,就禁止提交此评论,这样的修改,对以往正常的评论发表操作几乎没有丝毫的改变。
简单说一下实现方式,这是修改几行代码的是事情,首先在评论内容文本框加入键盘按键时的事件处理代码:
onkeydown="document.getElementById('commentform').action ='<?php echo get_option('siteurl'); ?>/wp-comments-post.php?chibl=miracle'"
当评论者通过键盘输入评论内容的时候,将表单commentform的action属性值改为wp-comments-post.php?chibl=miracle,即在原来的基础上加上了chibl=miracle,然后在wp-comments-post.php文件中加入判断语句:
if ( !isset($_GET['chibl']) || $_GET['chibl'] != 'miracle' ) {
wp_die('系统检测到你的评论非人工提交!请确认你通过键盘在评论内容文本框中输入过文字,即使是复制粘贴,也请使用键盘(Ctrl+V)进行粘贴。');
}
如果不存在chibl=miracle的键值对,说明评论者并没有通过键盘输入评论,因此禁止提交此评论。
通过群发软件发布的垃圾评论,一般都是通过获取源码的方式,对评论内容直接进行赋值,期间并没有在评论内容文本框中进行敲击键盘按键的操作,但是这个操作也是可以模拟的,这里我暂且忽略了。
这是我击退SPAM大军的方式,仅是万千方式之一而已,只供参考,不推荐采用。
原创文章转载请保留内容完整,并注明来源吃饱了撑着,本文地址:http://www.chibl.com/archives/213
