据说SPAM这词的来源和计算机其实没什么关系,也不是某四个英文单词的缩写。它实际上,来自于饭店中一首完没完了地念叨着“SPAM”的歌,这歌的声音如此之大、歌词如此之烦,以至于就餐者都无法正常对话了。
上面的解释很好地描述了SPAM的作用和危害,然而有趣的是这个词本身却没有一个合适且严格的中文翻译。Wikipedia上有人将其翻译成“垃圾邮件”。但我们知道,除了垃圾邮件外,在计算机的世界里SPAM又可变身为聊天室中的垃圾留言、论坛中的垃圾帖子、IM中的垃圾信息,以及一切可以由用户产生内容(UGC)的地方。
SPAM有不小的危害,但以人类目前的技术,很难做到100%的杜绝SPAM。我曾在“有效地阻止SPAM”一文中提到了表单隐藏域办法,这个方法的优点在于,以极低的实现成本得到了相对而言尚可的过滤效果;但缺点也很明显,就是有些SPAM机器人越来越聪明,它们会用自带的HTML解析器分析代码,并绕过过滤机制。我后来在此基础上,在blog所用的SPAM防火墙上增加了“黑白名单”机制(详见“Lonely Thinker 0.4完成及0.5展望”),实际效果相当不错。但此方法必须由人工干预才行-网站的管理者必须一直投入精力来维护黑白名单的数据库,所以比较麻烦。
下面是上述两种方法的一个实际效果:
2009年1月1日-2009年1月15日,LT内建的SPAM防火墙共拦截SPAM 361 条。其中依靠隐藏表单域(方法一)拦截 49 条,约占 14%;依靠黑名单(方法二)拦截 312 条,约占 86%。平均每天共拦截约24条。(原始log文件下载)
老实说这个结果还是颇出乎我的意料的,因为居然只有49个/次、约14%的机器人被方法一抓到,而86%的机器人都可以绕过方法一!
由此可见,现在的SPAM机器人都相当的智能,而这也正是我们为什么需要一些更棒的方法来抵御SPAM的原因。在下篇中,我想和大家聊聊我最近研究Bayesian算法的一些心得。
可转载否~
另:记不得之前留言区域这里是不是黄色高亮了,毕竟大部分时间是阅读的RSS。人懒,不喜欢点到WEB。
如果是刚调整的,不得不赞一下。这个细节其实非常的舒服,非常的爽。
留言区域的高亮,用一句那啥啥说,巴适的很哪~
@fei:
原则上我不希望转载,因为从长远来看这会浪费互联网和人们的资源。如果你一定要转载的话,请:
1)保留作者信息;
2)标明文章出处;
3)保持转载内容和原文的一致性。
推荐在你那里链接回来 [emoticon:smile_1]
我有簡單的防Spam方式,希望與你交流.
http://willin.freehyperspace5.com/?p=1051
@willin 看了你的方式,很不错。我没有使用JS主要是基于可访问性(accessibility)的考虑。
Umm.... 你這個頁面就加載了6個js, 我想js還是方便.
@willin 呵呵,是的,用了一些jQuery。不过你尽可以关掉js,可访问性几乎不受到影响,几乎所有的功能都可用(除了评论中的表情图标,这个以后改进)。