将端午节当作电影节来过

| | Comments (0) | TrackBacks (0)

在这烈日炎炎、骄阳似火的端午节,我躲在空调的冷风下看着一部又一部的电影,三天下来,依次看完了:《波斯王子:时之刃》、《罗宾汉》、《碟中谍2》、《碟中谍3》、《谍影重重》、《谍影重重2》、《恐怖邮轮》、《死亡幻觉》......

直到此刻才发觉已经有将近两个月没有追看美剧《豪斯医生》和《24小时》了,不知道豪斯大叔和小强大叔两人近况如何。有些时候觉得看电影真浪费时间,可是往往在闲暇的时候,又似乎必须要看看电影才能让自己轻松下来。

就当这个端午节是我的个人电影节吧,偶尔放纵一下自己,是为了更好的工作(嘿嘿,我真能给自己的懒惰找借口)。

继续上文说到的Discuz如何才能有效过滤垃圾邮件,先对上文做一个小小的总结:

尽量不要通过增加验证行为对用户进行辨别,过度的验证行为会严重降低用户体验、最终导致用户因烦不胜烦而离开你的论坛。也不要对文章内容限定的过于苛刻,过多的限制、审核条件,不仅会加重服务器的负担,还会让用户感到没有言论自由,并无法从根本上杜绝垃圾信息的产生。

那么根据以上的不可行、总结,做为指导原则,我对论坛建立了一些简单的机制,经过实践发现是可以基本杜绝垃圾信息产生的:

一、根据注册行为判定注册者是否为真实的用户:

根据对论坛日志的分析发现,发布垃圾的机器人无论是注册还是发帖过程中,都是先构造POST数据包、然后发送到服务器的接收程序上。这些机器人虽然模拟了浏览器类型、系统类型、甚至模拟了来路信息,但均是针对与form注册过程来进行的。

这样就可以在处理提交的程序中加入对提交界面的验证来判断是否为机器人。具体做法是:在提交页面中用js或Iframe调用另一个程序,程序中产生一个随机验证码,之后再在注册过程中判断随机验证码是否存在即可。

因为机器人在模拟post提交过程中,并未对原始的提交表单页面进行全部处理,它只是简单的分析出表单内容,而没有对整个页面中的js、iframe等进行处理,因而被iframe调用到的页面显然不会被机器人爬虫抓取到,进而在处理注册过程的时候,就可以有效的区别注册者是否是常规途径提交的表单了。

二、内容的第三方审核与过滤:

这个方法实际上并不是很好,但是很有效,毕竟第三方的审核无论从准确性还是性能上,都要比自己的服务器强大。在博客系统中,最长被用到的是anti-spam等第三方插件,其实它们也提供针对论坛的插件和API,只要将用户发布的信息先送入审核接口,根据返回值即可判断内容是否为垃圾邮件。

第三方的审核参数主要有四项:用户IP、用户名、Email地址、正文内容,由这些参数综合判定给出的结论是个布尔值,是或不是垃圾信息。如果遇到"是垃圾信息",接下来的做法并非直接将其忽略,而是转入论坛的"回收站"或"垃圾箱",这样还有机会对其进行观察、恢复。

之所以说这个方法不是很好,是因为这些第三方检测网站,通常是针对非中文内容进行判定的,它们的中文分词、处理能力还有待提高;另一方面就是在用户发文的时候,第三方检测是个耗时的等待过程,会增加用户发文后的等待时间,若再遇到网络中断(毕竟是问询海外服务器),则会导致用户发帖失败。

三、内容的二次发布与检测:

这个方法有些灰帽的味道,对于喜欢SEO的站长,可能有一箭双雕的功效,这个方法是从上面第二点衍生出来的。第二点所说的将文章送入第三方检测服务器,只要替换成将文章送入国内某主流专栏服务商,即可实现一箭双雕的效果。

具体做法是在用户发文的时候,将文章同步发送到搜狐、新浪、百度空间等类似的博客专栏中,然后判断文章是否被成功发出了,如果他们对于文章的审核结果是肯定的,你也可以对其进行肯定;若这些地方对文章内容否定了,则说明文章内容有悖相关政策了。

为什么说是一箭双雕呢?原因是在同步发文的时候,可以对文章正文、也就是content字段追加一段转载声明,提示文章的第一出处在论坛上,这样成功发布出去的文章中,都会带有一个反向链接指回自己的论坛,这相当于为论坛内容做站外同步博客映像。

这个方法和第二个方法一样存在着缺陷,虽然国内主机连接速度和相应不成问题,但国内过于严格的审核机制可能会导致更多的误判、同时似乎百度空间已经增加了发帖验证和禁止正文包含网址等规则,所以这个方法的可行性已经降低了。

四、文章内容的相似度计算:

对于论坛而言,试想一种情况:某个新用户到论坛来发帖、一上来就来转载一篇已经在网络上转载烂了的文章,这种情况会发生在什么情况下呢?我认为这种情况只会发生在广告群发上,常规的用户注册之后或发问、或回帖,很少一上来就转载内容的。

发问的是否用户也许已经在多个论坛上询问了同样的问题了,但这样的用户和广告群发在行为上已经没有本质不同了,所以对于这样的用户也是不被欢迎的。

基于此,便可对用户文章在网络上出现的频度进行查询判定,若某用户的处女帖是带有网址或站外引用图片的转载帖,则不予考虑通过,直接将其文章归入回收站、账户暂时冻结即可。

对于文章相似度和是否在网络上频繁转载两个计算,则是利用搜索引擎来完成的了。最为简单的做法是将用户的帖子标题当作搜索内容进行搜索,观察搜索结果数量即可。

五、发帖时间推测与打字速率计算:

这个方法是mylot等网站使用的方法,依据是真实用户从点击完"发帖"按钮到完成发帖过程,中间是需要时间且时间是根据帖子内容字数所确定的。真实的用户不可能瞬间完成100字的输入,他至少需要个十几秒的时间,对于2000字则可能需要几分钟的时间才能完成输入。

这个验证虽然是科学的,但是它同样存在着缺陷----没有考虑用户通过复制、粘贴来进行发帖。例如我在写这篇文章的时候,其实是先用记事本来写、写好了粘贴到论坛中,所以虽然文章看上去字数很多,但发帖过程却很短。

所以这个方法是个辅助手段,并不能被当作绝对判定来使用。但这个方法的前一个判定是完全可以做为权重比较大的判断依据的,因为用户在每个页面的停留时间、鼠标点击位置等不会完全相同,所以对于点击"发帖"按钮的坐标是否存在、是否随机等均可做为参数进行判断。

六、还有更多的方法:

对于论坛垃圾信息的验证和判断,我做了大约13种不同的验证机制,每一个验证机制根据其准确性和成本给予一个不同的权重,当一个用户、一篇帖子被发送上来的时候,会先去决定采用这些验证方法中的哪几个,然后综合每一个验证得到的结论,最终判定这篇文章是否属于垃圾邮件。

如此的验证让我相信可以有效杜绝垃圾信息、又不会让用户在发帖的时候进行等待、验证。限于其中的一些方法过于投机,这里不便一一列出。

俗话说是骡子是马出来溜溜,对于我所谓的垃圾邮件过滤与屏蔽机制是否有效,还需要时间的验证,前几天自己部署了一个DZ的论坛,以期用来检验、测试这些屏蔽垃圾信息的方法。

欢迎来讨论、测试。论坛地址:http://www.s9600.com/bbs/

点击这里参与本文讨论

曾遇到过2个Discuz论坛有同样的需求----屏蔽垃圾广告,经过一段时间的摸索,尝试出了3种比较可行的方案,如果3种方案综合使用,效果更胜一筹。相对应的,网络上也有若干种通行方案,然而这些通行方案均存在着一些小问题,这里做个成立,分述如下:

论坛屏蔽垃圾信息不可行方案一、验证码:

使用验证码是最为不可行的方案,首先验证码机制本身是消耗系统资源、降低用户体验的举措,而且这个生成出来的验证码并不能有效杜绝垃圾信息的产生,因而在白白的浪费了系统资源、降低了用户体验的同时,垃圾信息没有丝毫的减少。

验证码之所以无法杜绝垃圾信息,是因为OCR技术在发展,一般的图片内容很容易被自动识别出来、即便是百度、腾讯、Google、Yahoo产生的反OCR验证码,也有专门的廉价"打码"从业者在进行着人工破解。

论坛屏蔽垃圾信息不可行方案二、邮箱验证:

注册用户使用邮箱进行有效性验证在早期是可行的方案,然而在今天看来这个验证过程也存在着自动化可能性,进而导致邮箱验证再也无法有效杜绝垃圾信息了。垃圾发送程序可以实现注册成功后远程收取邮件、分析邮件内容、找到激活连接并自动激活。如此即可轻松破解验证码。

实际上这个方案本身就是在注册过程之后又增加了一个过程,第二个过程无论是答题、还是收取邮件、又或者是发送短信,基本上都是可以再次被自动化操作的,因而被破解只是个时间和成本的问题。

论坛屏蔽垃圾信息不可行方案三、手机验证:

在上面第二点的叙述中,提到了"手机验证",正在今天看来应该是最为有效的手段。但正如前文所说,提取手机短信内容、分析其中的验证码是完全可以自动实现的,因而这个方法的破解也是早晚的事情。

同时手机验证需要服务器上配备有短信发送设备,或论坛运营商拥有短信网关的操作权限,这从成本和可行性上也使得这个方案变得不通用、不可行。

论坛屏蔽垃圾信息不可行方案四、用户激活期:

论坛用户完成注册之后,并没有即时开通发帖权限,而是要等待30分钟----24小时不等的激活时间,等过了观察期之后用户才真正成为论坛用户。这种方案同样存在着严重的问题,即:

严重降低了用户体验、降低了用户积极性。同时垃圾机器人可以将注册过程和发帖过程分开进行,二者之间有一个长期的休眠期便轻松突破了论坛用户激活期策略的限制。事实上,今天的垃圾制作者所蛰伏的时间甚至超过几个月,目的就是让垃圾机器人看上去更像是真实的论坛老会员。

除了上述的四点之外,可能还有些常用的通行手法,但似乎也都不见效果。对于这个话题的讨论,我将放在论坛中,希望有兴趣的朋友们一同来讨论。

论坛地址是:http://www.s9600.com/bbs/

本来想继续将可行的方法写出来,但突然发现文字已经太多了,不如分成两篇来写。下一篇文章中,将具体写一下我所采用的垃圾信息屏蔽手法和效果。
最近一直和乱卷儿表达一个心愿----我想搭建一个论坛、用Discuz搭建一个论坛。之所以想搭建个论坛出来,主要是想将自己平日中对DZ的若干小改进在一个属于自己的论坛中完整的表现出来。

因为DZ的流行,不知有大大小小多少个站长都在使用着它,我身边的朋友中也有很多在用DZ论坛做为自己网站的核心产品,而经常会有朋友们提出小小的改进需求,让我帮忙实现、又或来问我如何修改。

能想到的,差不多有5、6个吧,每一个里面都有一点点我的个人修改,但每一个都没有完全的展现出所有修改。此外还有我一直想加入、却不被朋友们认可的功能,既然他们不想用、我也无法强求。

综合上述的原因,就是我要搭建一个论坛的心理路程。这个想法从开始到现在,断断续续已经有将近半年了,每次都是光说不练。这几天觉得自己实在是很久没有写程序、很久没有关注网络了,如果再这样下去,别说写程序,就是连最基本的Linux命令都快忘光了。

所以今天我给自己下了一个硬性规定----别废话了,论坛这周必须搭建起来。考虑到一个几年前注册的域名,正好闲置,就拿它来部署。其实并不复杂,直接在Discuz的官网下载一个压缩包扔到服务器上即可。

安装包现在正在下载中,今天应该就能搞定。论坛地址是http://www.s9600.com/bbs/,如果你打开看不到任何内容,那是因为我还没有搞定这个事情,但如果能够打开,欢迎来论坛注册、留言。

最近发现做饭是门大学问,其中牵扯到的不仅仅是操作流程的问题,还要综合考虑统筹、资源分配等因素,想将每天的晚饭做到花样翻出、又不浪费,的确是要有很强的计划性。

厨房中的很多调料也是值得深入研究的,例如味精究竟是什么东西、米醋和白醋的区别有哪些、料酒和日常饮品酒的成分有何异同等,都是值得思考和调查的问题。

自从开始每天下厨房开始,我就爱上了这个具有创作力的地方,烹饪和写程序很类似,都是从无到有的创造过程、都需要对每一个环节进行控制,我喜欢控制。

更让我觉得兴奋的,是最近开始使用智能手机,能够快捷的将每天的饭菜拍成图片并共享到网络上,这更加让我有了做饭的冲动和激情。毫不夸张的说,我现在每天最期待的,就是晚上到家之后进入厨房那个时段。

土豆炖牛肉

上面的是土豆炖牛肉,做这顿饭的那天正巧父母也做了同样的菜,还给我带来了一些PK,结果可想而知,自然是我做的土豆炖牛肉胜出,毫无悬念。

大拌菜

晚上吃饭不能太油腻,要尽可能多的吃些蔬菜和水果,因而偶尔的,我也会放弃肉腥,改吃一些清单可口的蔬菜。

西红柿油菜汤

晚饭很重要,所以要喝汤。我做汤还不是很熟练,每次出锅的汤看上去都很像刷锅水,正在考虑将食材先用开水抄一下再下锅,可能会好一些吧?

西红柿鸡蛋打卤面

手擀面是从外面买的,沸腾三次即可食用。我终于不用再吃父母做的"锅挑儿"了,每次吃打卤面,我都会用凉水猛冲直到通透,过水儿面,我喜欢。

用Flickr有3、4年了吧,用的时间长了感情就出来了,想让我更换网络相册已经是一件不大可能的事情了。最近开始用智能手机----Nokia 5800w,其中带有一个"在线共享"的功能,然而这个服务在中国地区似乎只有新浪相册一个服务商,于是就想为其增加Flickr共享功能。

在网上找了一些解决方案,均无法顺利实现。即便是到Flickr的官网下载一个专门为诺基亚手机编写的CFG文件,依然无法顺利安装,手机提示文件已损坏。猜测可能是版本问题导致的。

经过一上午的Search,最终找到了一个可以使用的配置文件,将其下载到手机中打开,就顺利的完成了所有的配置,如今的多媒体文件夹中所有图片均可直接上传到Flickr帐号中了。

前几天还下载了一个sis安装文件,是flickr出品的Symbian S60的软件,虽然是针对3rd(第三版)开发的,但在5th(第五版)中亦可使用。手机、相机、软件、在线共享,几者配合,令我感到有一种全新生活得体验,从今往后,我也能跟随潮流,将每天的所见所得,即时分享给盆友们了。

相关的下载地址如下:

http://www.mrshang.com/community/viewtopic.php?f=2&t=2591

不粘锅掉漆,铁锅生锈

| | Comments (0) | TrackBacks (0)
前几日看到街边儿办理信用卡的人所送礼品很是心动,有电子体重秤、假Zippo打火机、运动旅行包、厨房刀具组合、透明调料管罐、不粘锅......于是我一时动了贪念,上去一张张一张张地填写了不知多少个银行的信用卡申请表,直到最后办卡的人都建议我别填了,才暂停了填表的动作,转后将目光投到那琳琅满目的礼品上。

最终我收获颇丰,将上述礼品全部纳入囊中,兴高采烈的打了个TAXI回家。到家之后不等喘匀气就直冲厨房,将刚刚免费获得的各类礼品全部码放到灶台周围,点上一支香烟、慢慢地感受着这种占了小便宜之后的满心欢喜。

其实家中原有一口铁锅,只不过因为锅底太圆、又过份沉重,所以始终不是很喜欢它。如今的平底不粘锅对我而言便成为了新宠,直接将铁锅扔到角落中,看都懒得再看它一眼。新入手的不粘锅不仅干净轻便,而且最重要的是它是平底锅,可以方便的做我最爱吃的摊鸡蛋了。

接下来的两天,我先后吃了四顿烙饼摊鸡蛋,真是百吃不厌的美味啊。平底锅最大的好处就是无论做什么菜,都可以让菜更均匀的受热,而不用频繁的用炒勺翻动。所以我越加的爱上了厨房,做炒韭菜、炒豆芽、炒黄瓜、炒辣椒......

突然有一天,我发现这个不粘锅越来越容易"粘锅"了,而且炒出来的菜都是黑乎乎的,似乎是锅里面的涂层开始逐渐剥落。这可不是闹着玩儿的,谁知道那黑乎乎的涂层能不能被人体吸收?吃到肚子里会不会中毒?

于是又从角落中翻出那口早已闲置的铁锅,虽然有些沉重,但毕竟是被咱们老百姓用了几百年的安全厨具,用着虽然累心、可吃着就是省心呀。

有段时间不用铁锅了,翻出来才发现上次它失宠的时候根本就没被好好清理,直接带着油腥水汽就被打入了冷宫。如今重见光明的它已是满面铁锈、惨不忍睹了。

我将家中能用的清理用品全用上了,洗涤冷、洗衣粉、肥皂香皂、老陈醋、牙膏、浴液......这叫一个百忙,折腾了足足一个小时才让它看上去不再令我反胃。晚饭的时间到了,铁锅重装上阵,顿时让我感到它才是我的最爱,用起来是那么的得手、安全、放心。

铁锅用起来有些沉重,而且每天晚上清洗之后,第二天里面都会有少许铁锈,再次烹饪之前需进行一些清洗工作,不过我已经不再感到这是令我苦恼的事情了,只是那口冷宫中的不粘锅,现在想着还有些心有余悸......
这个中文博客是使用MT搭建起来的,和wordpress相比,MT博客系统更加的复杂、专业、扩展性强,尤其是MT的页面静态化处理做的很好、能非常有效的减少服务器资源占用。

然而MT的缺点也是显而易见的,例如其后台程序对资源的占用偏大、响应速度较慢......最近几天因为自然乱卷童鞋的博客也放在了我的服务器上,这对于一台廉价的VPS来说可能会面临资源耗尽的风险。

所以我开始考虑对服务器和MT进行优化,尽可能降低其对服务器的资源占用,同时也有机会更多的了解Movable Type系统。现在只做了两个基本改变,取消了不需要的插件、屏蔽了自动储存机制。

至于是否有更大的优化余地、我的第六感告诉我一定还有,只不过暂时还没有找到而已。
硬盘更换大容量硬盘之后,有一件曾经一只想做却没有做的事情便成为了眼下最着急做的事情,我希望将安装在FreeBSD下的VirtualBox虚拟机中的一个硬盘映像文件复制一份出来。其目的是能让我的虚拟WinXP拥有一个或多个备份,这样在不同的磁盘映像下可以来做不同的事情,例如:保留一个最简洁系统用来聊QQ、上网银;专门为Vistual Studio部署一个开发平台;再专门用一个系统来看毛片、感染木马与病毒......

然而从昨天开始,我就一直在与cp命令较劲,想尽各种方法来复制那个5GB的vdi文件,却始终失败。原因看上去很简单,就是在复制到3GB左右的时候,系统突然僵死,除了强行关机外别无他法。

出现问题的时候,错误提示信息大概为:

setfeatures set transfer mode taskqueue timeout...
SET_MULTI taskqueue time...

上网查了一下,解答的千奇百怪、可能的原因也众说纷纭,总之没有找到贴谱的说法。按照其中某个帖子的说法,将ata_dma选项禁用,再次重启尝试,有了一丝专机----系统内核没有崩溃。但依然没有顺利完成文件的复制......

正当我苦苦找不到答案的时候,突然想会不会是vdi文件本身的问题呢?虽然这个想法有些天马行空,但也许问题的关键就在这里。于是又搜索了一下,发现VirtualBox的vdi文件果然需要用VirtualBox的专用工具来复制才行。尝试着复制了一下,结果还没开始就又遇到错误,提示文件已经注册、无法重复复制。

不过我感觉问题应该就是vdi文件本身导致的了,虽然还没有证明,但今天我是再无心思做这个枯燥的事情了。实际上想证明是否为vdi文件特殊所引起的无法复制很容易,只要通过其他手段创建一个5GB的大文件,然后对其进行复制,就可以对比出来问题是否出在vdi上了。
更换大容量硬盘之后,迫不及待的更新了ports,发现Firefox已经更新到了3.6.3版本,和原来我所用的3.0.X版本比较起来,似乎在界面和操作上有了更多的优化。

官方对于3.6版本的功能特性介绍包括:

1、炫彩风格:可动态更换浏览器的主题和外观,而且是所见即所得、无需重启浏览器;

2、插件更新提示:对于过期的插件进行检测,使得由插件引发的安全漏洞风险降低了;

3、提高稳定性:在3.6版本中,FF更多的强调的就是安全性,这个版本显著地降低了来自第三方软件所导致的浏览器崩溃几率,而不会以任何方式牺牲浏览器的可扩展性;

4、网页表单自动完成:填写在线表单时,火狐浏览器能根据用户在相似的表单域所填写的信息自动给出当前表单所需的建议答案;

5、提高性能:改进了JavaScript的性能、浏览器整体响应速度以及启动时间;

6、视频和音频打开方式:基于对HTML5视频和音频的最佳支持,如今视频已能够全屏显示并支持显示标志帧;

试用之后感觉上述诸多特性中,也许只有"提高性能"和"提高稳定性"对我更有诱惑力。而对于颜色不敏感的我,"炫彩风格"等外在表现并不关注。我的FF只用到了2个扩展,一个是Firebug,另一个是Delicious,所以对于插件更新提示等功能也不感兴趣。

因为是全新安装的FF,并没有保留以前的.mozilla目录,所以现在看来浏览器启动、响应和页面载入速度还是非常快的。而且新版本的Firebug功能也更丰富了,这对于做网站而言,将更为快捷高效。

总的来说,这次升级没有遇到任何问题,非常顺利,不知道如此的顺利是否得益于我的大容量硬盘,霍霍。

BTW:清明小假去了趟焦作,在圆融寺玩儿的时候用的是黑白胶卷,回来之后手工冲了出来,第一次冲胶卷很兴奋、效果自我感觉也非常满意。有兴趣的朋友可以点击这里观看
友情链接

Google