标题中本想写:《spammer最低道德准则 & spam如何防止》的,但为了更多可能需要的人能搜到,将“spam”换为更常用的说法“垃圾帖子”吧,也算是SEO的做法之一了——内容是要能够展现给更多人看的,不是闷着闷骚的。
先谈谈道德观,木有兴趣的可以跳过前半段,到后面寻找反垃圾帖子的对应方法。
spammer的道德观自白
虽说我所做的SEO工作从服务器到前端到站外,spam所占的比例至少对自己而言并不多,但也难逃清白了。
众所周知咱spammer干的就是发垃圾帖子,或多或少是不太道德的事情,只不过有人不忌讳spammer这个称呼,有人最多只提到“外链”二字为止。
spammer大致可以分两类:
人肉流,以应届生、外来到城市人员居多,底层干苦工的,超低工资超大工作量,伴随超高离职率,也比较可能有超压抑工作环境,这种一向很不欣赏,指的是公司方。有时听人抱怨离职率高,也纳闷,给人难以糊口的工资,其他各项环境也不好,最主要也肯定是没发展前途的,如果执着于这样的SEO策略的话,用人角度上只有海量招人,做好员工平均两个月不到就离职的准备。反正一般来说这个群体被压迫得够惨了,没空看博客,看到这篇文章的机会不大,不多提了。
工具流,以网赚、仿牌等个人单干型居多,当然也有像我这样少数打工的。多数买一堆工具来发外链,偶尔也有像我这样比较另类的会去脑残的自己写工具。不少用工具的人没太多手工发外链的经验,从主观上讲罪恶感是小了,因为没有在别人辛苦写的博客上面搞破坏之类的经验,天天对着的都只是软件面板,但客观上无论怎样都是造成了同样不好的后果。
但又话说工具流的spammer多数应该是有自己的网站的,多半也该体会过被别人spam的经验,也没太什么,心态放宽以后,每天最多点几下删除而已。论坛的管理员会比博客之类的更麻烦些,但如果做好最基础的反作弊措施后(若一点都不做某种程度上也可以说是站长的失责了,百度一下用上最多几个小时也不乐意的话本就没重视自己的网站),垃圾帖子也肯定不可能多到让论坛无法正常运行之类。而对于spammer而言,在牺牲了一些道德后,换来的收入可能是可观的,如果说这些收入不仅是拿去吃喝嫖赌什么的,觉得并不算太过。
当然如果对自己不必要或影响不大的话,自然也是最好把对别人的影响最小化,比如发论坛profile之类没人会看到的链接,或者早已无人管理的网站这些。
垃圾帖子与垃圾回复的防止
1.把网站上类似Powered by Discuz的字眼去掉,因为发垃圾帖子的人多半并不认识你的网站,多数时候是通过搜索引擎来搜索的,最常用的方法就是如果想找Discuz论坛就搜索Powered by Discuz等。这样能防止掉估计30%左右的垃圾帖子,不过对于有经验的spammer是无效的,只要用的同一程序总有同样的字眼出现,总会有找到的方法,但并不是所有spammer都是有经验的。
2.验证码是一个不错的方法,放一个在注册用户的时候既不会给用户带来太大的困扰,也能略为改善垃圾帖子的情况。但肯定是没有必要把验证码弄成什么动态GIF,让正常用户都觉得很难受的。因为不少spam本来就是人工,另外也有不少是开工具,软件界面直接显示网站上的验证码让人输入的。实际用机器识别验证码的很少,因为识别成功率通常很低,如果想成功率较高的话,是要较多钱去买收费识别的。
注册验证码需要花去正常用户大约5-10秒的时间,粗略估计能阻挡掉20%左右spam的情况,20%属于用软件群发垃圾信息但跳过验证码的。
3.验证回答,如1+1=?,对正常用户也差不多用几秒时间,估计还能挡掉10%左右spam的情况,属于那些人用的软件比较差,不能提示输入验证回答的。
但这里有个技巧,估计能把垃圾信息一下子阻拦掉将近50%,这就是比如“网站的名字是什么?(提示:见网页标题)”。因为群发工具里面,多数是弹出小窗来提示别人输入的,这个小窗显示验证码,或者验证回答的问题区域。而这个问题的答案没法直接从问题区域获取到,所以能拦截掉绝大多数自动化的垃圾帖子群发软件。
4.前面都是针对自动化的,针对人工操作并没有太好的办法。我个人很不赞成什么注册后多少小时才能发帖的规则(48小时的都见过),对正常用户带来了极大的困扰。相对好些的方法是在注册页面问一些上论坛的用户肯定会知道的问题,但多数人不知道的,比如说地区性论坛,可以问,“某地的简写是什么?”,那么其他地区的人大多不清楚也只能跳过了。当然这种方法有局限性在,不是每个论坛都用得上。
前面提到的这些一般在主流的论坛程序的后台设置页面里面是直接可以找到并设置的,如果你对HTML和JS等比较了解的话,可以再往后稍微看看。
这些只针对工具而言,一般发垃圾帖子的时候,注册等过程中,市面上绝大多数自动化软件都是很傻的,会按照固定的input标签的id,name等属性来提取,也可能是按照顺序,智能判断几乎没见到过,我也是没想通那些软件为什么会这么傻。只要把这类属性的值改动下就能防止不少工具的自动化操作。
如果你的网站“很受欢迎”,人家费劲心思做自动脚本,那前面提到的一堆方法就都没什么太大用处了,可以考虑JS之类来处理。比如Facebook用的一个方法,当textarea触发onfocus事件的时候,再修改html,显示出可供提交的按钮。提交后处理的时候是能判断submit的那个input的值的,如果没有的话就是直接post上来的,一脚踹掉。再做得好些的话,name之类属性的值都是可以随机的。
差不多就这样结束吧,保佑spammer日子过好点,也保佑被spam的日子太平点,呃,貌似挺矛盾。