最近几年, 维护个人网站、博客、论坛的站长, 都饱受论坛群发器/广告机器人的苦恼。一些没有职业道德的程序员,开发了论坛群发软件;而无良的 SPAMER 们, 利用这种广告自动程序, 执续不断地发送着各种垃圾广告,厉害的程序,一天可以强奸几万个论坛。
如果论坛是公开注册,对反 SPAM 措施没有配备的话,管理员一两天不上线维护,版面就会变得惨不忍睹,垃圾满屏。如何防止论坛群发广告,是许多站长头疼的问题。关于 Anti-spam 的办法,目前有许多种,但每种方法都各有优缺点。
以我的经验来看,最关键的一环,就是抓住源头,即控制住用户注册这块。我将自己所了解的控制住用户注册的几点措施,总结如下:
https://www.xiaohui.com/dev/server/20080723-discuz-forum-anti-spam.htm
这是最狠的一条措施。使用此制度, 可以完全杜绝广告机器人。不过,这个措施不具备普遍推广性. 只有一些准入门槛比较高论坛或某些专有论坛,才能实施这条措施。
这个方法是比较经典的反 SPAM 措施. 但现在的广告机器人程序,有些能够识别出校验码。在这种情况下,针对校验码,可以做一些干扰变化。例如:
诸如此类,不一而足,在乎你的想象和折腾。:)
题目用自然语言描述,人一看就懂,但群发广告的程序却无法识别。例如:
类似这样的问题,多设计几组,机器人基本是答不出来的。需要注意的是: 这种问题, 需要规定好答案的格式, 例如: "请用中文数字不带单位回答", 或"请用英文小写字母回答"之类。另外,设计这类题目时,最好发挥你的想象和幽默,让题目有趣味一些,这样不会让真正的注册者感到麻烦。
我的个人网站( https://www.xiaohui.com )的用户评论模块,采用的是让用户做一个简单算术题( 一个 10 以内的数字 与一个 10~20 以内的数字相加)。这个措施比较简单,但由于我网站 https://www.xiaohui.com 的内容管理系统,是自己开发的,算是非主流,至今没有被群发软件盯上。
例如,将 注册脚本中的 name 字段,改为 xing_ming, 将 username 改为 my_user,与标准的论坛程序的属性名,不一定即可。
将论坛注册的页面文件名改了, 例如将 register.php 改成 rt.php, 将 "注册" 的字样, 改成 "申请新用户/建个帐号/"等(发挥你对小学语文同义词的理解), 这样基本能防住不少机器人. 笑汇程序员论坛( http://www.xiaohui.net ) 就是采用了这个. 我个人觉得这个方法最简单,也最不占用系统资源。这招是我几年前的时候想出来。最新的 discuz 论坛程序, 已经在后台管理中整合了这个功能。
配置上面这些措施,有些需要站长有一定的脚本编程知识,有些可以在论坛的后台管理界面中打开。对于博客来说,大部分博客允许匿名留言,无需注册,这样的话,有些针对论坛注册的措施,就用不上,但基本于“校验码验证”、“自然语言问答“等措施,仍是可以执行的。
然而,有些论坛广告,并不是程序机器人自动发的,而是人工发贴。碰上这种人,就不好控制了。我目前是写了一个简单的脚本,列出最近的注册用户,以及他发表的贴子标题。一页显示100个或更多个用户。每隔几天上去看一次,如果是 SPAMER 的话,只要扫一眼就可以知道,直接将其帐号及所有贴子删除。
引用: 女的谁来这啊,肯定大老爷们,哈哈我是lady 来了,怎么不能来啊