This box will be fixed on your screen using Firefox, Opera9 or IE7.

Spam killing just 1 line (一行绝杀)

这几天开始为这些垃圾发愁了,尽管95%的垃圾可以被过滤住,但总还是要在后台删除的。而且id资源造成了浪费,也就是说一经留言每个comments都会被分配一个唯一的ID号,如果某个留言被删除了,那么这个ID就永远不存在了,这和xhtml中的ID是一样的,都是唯一确定的,不能重复。而且在WP中诸如:分类、链接分类、文章(草稿)中都存在类似的ID,所以我一般都不轻易删除文章或者分类,最好采用直接编辑然后再利用的方法,以便于ID的连贯性。

今天在WP的一些站点逛,看到这么一个对付垃圾的方法,只需要一句。打开wp-trackback.php,找到:

[code lang=”cpp”]if ($charset)
$charset = strtoupper( trim($charset) );[/code]

在这句的上面,加上这么一句:

[code lang=”cpp”]$trackbacker = apply_filters(’post_comment_text’, $excerpt);[/code]

原理:

就是利用WP自身的过滤原则对Trackback进行提前过滤,这是在接受Trackback的时候就进行检测,如果包含屏蔽词语,那么这条Tb会被过滤掉,而不会像WP默认是转入审核(实际上Tb已经被确认id),一句话总结:掐死于萌芽状态。

适用于1.3及以后版本。

8 Comments

  1. Allan Comments @ 00:52:24 on 2005-01-09

    嗯,不错。收下了。

  2. 亿城雪 Comments @ 09:54:06 on 2005-01-09

    好办法。

    我一般都不轻易删除文章或者分类,最好采用直接编辑然后再利用的方法,以便于ID的连贯性。

    这个是个好习惯。呵呵。

  3. tinyfool Comments @ 11:15:22 on 2005-01-09

    读者关心你的id连续么?只要id不会耗尽就不是问题吧?

    不过说起来我也经常太过关心这种问题,是不是也想得太多了?

  4. legend Comments @ 12:34:12 on 2005-01-09

    其实mysql中的自动增加字段也是可以修改的。不过修改这个后,关联的几个表的相应记录也得修改,比如说评论所属的文章id

  5. dark Comments @ 19:12:57 on 2005-01-09

    是这样的Tiny兄,文章和分类我当然是一般不轻易删除的,因为不存在垃圾一说,看不顺眼编辑再利用就行了,这样很容易保持文章ID的连贯。
    但垃圾留言你不得不删除,这样会造成一种极其不爽的假象:明明拢共才3位数的留言总数,ID都5位数了(因为中间有大量的垃圾被删除了)。就像水一样,白白流掉了总觉得可惜。对了,您的新Blog落成了能否攀个高枝,现在您上面blog太多不知道写哪个了。

  6. Comme si tu veux Pingbacks @ 00:36:16 on 2005-01-11

    Update:过滤垃圾邮件的问题,From:雨吁 只需要一句。打开wp-trackback.php,找到: …

  7. 平淡是真 » Spam killing just 1 line (一行绝杀) Pingbacks @ 11:06:03 on 2005-11-18

    […] 转自:http://yx.takeback.net/index.php/90 […]

  8. 平淡是真 » Spam killing just 1 line (一行绝杀) Pingbacks @ 19:57:07 on 2005-11-20

    […] 2005.11.20 on 8:15 pm | In WP专题 |   这几天发现我的网站上有好多的垃圾留言,在网上找了一个插件安装了还按下面的方法改了不知道有没有效果。 这几天开始为这些垃圾发愁了,尽管95%的垃圾可以被过滤住,但总还是要在后台删除的。而且id资源造成了浪费,也就是说一经留言每个comments都会被分配一个唯一的ID号,如果某个留言被删除了,那么这个ID就永远不存在了,这和xhtml中的ID是一样的,都是唯一确定的,不能重复。而且在WP中诸如:分类、链接分类、文章(草稿)中都存在类似的ID,所以我一般都不轻易删除文章或者分类,最好采用直接编辑然后再利用的方法,以便于ID的连贯性。今天在WP的一些站点逛,看到这么一个对付垃圾的方法,只需要一句。打开wp-trackback.php,找到:if ($charset) $charset = strtoupper( trim($charset) );在这句的上面,加上这么一句:$trackbacker = apply_filters(’post_comment_text’, $excerpt);原理:就是利用WP自身的过滤原则对Trackback进行提前过滤,这是在接受Trackback的时候就进行检测,如果包含屏蔽词语,那么这条Tb会被过滤掉,而不会像WP默认是转入审核(实际上Tb已经被确认id),一句话总结:掐死于萌芽状态。适用于1.3及以后版本。转自:http://yx.takeback.net/index.php/90 […]