2006年6月10日星期六

德国柏林墙的故事

  “自由有许多困难,民主亦非完美,然而我们从未建造一堵墙把我们的人民关在里面,不准他们离开我们。” ——肯尼迪《柏林墙下的演说》1963年6月25日于西德市政厅柏林墙前。

  德国世界杯马上就要开始,我不太喜欢足球,因此没有什么兴趣,但是说起德国,我却想起了柏林墙的故事。

  德国的柏林墙是东德于1961年在自己的领土上建立的围墙,目的是不让东德人逃入西柏林,在柏林墙建立之前,大约有250万东德人逃入西柏林,1990年柏林墙被拆除,随后东德加入了联邦德国,两德实现了统一。

  肯尼迪曾评价柏林墙是“世界上第一堵不是用于抵御外敌,而是用来对付自己的百姓的墙”。

  柏林墙自建立起来后,追求自由的人民就尝试使用各种方法逃出柏林墙,其间也留下不少可歌可泣的故事。以下的几则故事来源于北明写的《柏林墙故事》,这些故事是伟大的东德人用自己的鲜血和泪水书写而成的。

 


 

  柏林墙的逃亡,其实就是逃越柏林墙。墙的另一面,立时立地就是自由世界。天壤之别,仅一墙之隔而已。所以,自从柏林墙建起,逃亡故事就没有中断过。

  地面逃亡最简单的方式是直接翻墙而过。看上去一人多高的墙可以翻身而上。但逃亡者从开始在边境开阔地带奔跑到墙下,再翻身跃上墙的这段时间内,生与死就完全听天由命了。1961年,当十八岁的东柏林青年彼得·费希特尔在到达墙跟翻身跃墙,他已经爬到了柏林墙的顶部,只需要再加最后一把劲,就可以达成目标,就在这个时候,枪声响了……

  彼得滑落回柏林墙东侧。

  悲剧还没有完,身中数弹的彼得倒在柏林墙下,血流如注,这期间,他不停地呼喊救命,呼声惊动了西柏林一边的边防军人。军人们扔过来一个急救包,但血将流尽的彼得·费希特尔已无力自救。彼得就这样在墙下躺了50分钟,没有一个东德警察前来管他。

  彼得的呼喊声一点一点的低下去了,低下去了。西柏林的人群爆发出愤怒的抗议声。

  “你们是杀人犯”“你们是法西斯!”上千群众怒吼着。西德的警察冒险跑到柏林墙边(这是极其危险的,柏林墙西侧依然是东德的土地,警察已经“越界”,完全可能被枪击)翻身跃墙将这位东德青年抬起来,但是太晚了,彼得已经停止了呼吸。他的血已经流尽了,在他蓝眼睛里最后映出的,依然是东柏林。

  这是柏林墙将柏林城和它的人民分割以来,第一位在逃亡中死于枪击的东柏林市民。

  如果说彼得最大的不幸在于他最终没有成功,我不知道下面这个最后“成功” 的例子,是不是算幸运。

  在柏林墙刚完成的那一年,由于墙还不是很坚固,有人就想出了办法,开重型车辆直接撞墙,直接冲开柏林墙进入西德。1961年,这类事件多达14起。

  逃亡者要面对的绝不仅仅是坚固的高墙,还有来自军队和警察的密集射击。而在枪林弹雨中全速前进去撞一堵大墙的行为,毫无疑问是“双重自杀行为”。而这却是当年东德一些逃亡者们投生的方式。

  布鲁希克和他的同伙就是利用大客车冲击柏林墙,但是他们的行动从一开始就被发现了。军队和警察从多个方向向客车密集射击,客车起火燃烧,弹痕累累!还好,客车质量过硬,不但没有熄火,还在布鲁希克良好的驾驶下奋勇加速,一声巨响,柏林墙被撞开了一个大缺口,整个客车冲进了西柏林!

  欢呼的人群拥上来迎接,却被眼前的景象震惊了,驾驶座上的布鲁希克身中19弹,他是用生命的最后意志坚持加速,冲向柏林墙的。当客车冲进西柏林的那一刻,布鲁希克停止了呼吸。

  柏林人展开了一场争论,布鲁希克究竟有没有看到他梦想看到的西柏林?最后是一个现场镜头宽慰了大家,从镜头上看,客车驾驶座位于西柏林之后,布鲁希克还有一个抬头的动作。是的,那时候他还活着!他的眼睛最后映出的,是他梦想中的自由世界-西柏林!他是一个成功者。

  另一个传奇式的故事是空中热气球逃亡。

  1979年的一个深夜,东德黑色夜幕的上空出现了一个高度为28米的欧洲历史上最大体积的热气球。当这个热气球接近柏林墙地域时,被东柏林地面警卫发现。三束探照灯直射黑色天幕,追踪监视着这个看来企图越境朝西柏林飘去的热气球。就在地面警卫朝这来历不明的巨大热气球开枪射击之前,热气球迅速高升,爬上了两千六百米高空,随后不知去向。

  这个热气球的吊蓝里,装着两个东德的家庭,大人小孩一共八口人。

  他们在快速升高后,可能由于慌乱,失去了方向。当在空中飞行28分钟后,热气球安全降落地面。悄悄掀开覆盖了他们的巨大气球布,看看外围环境:丛林荒草,远近没有人烟。

  他们无法判断究竟是到了自己的目的地西德,还是不过在空中转了一个圈,仍在东德境内。或者,已经非法进入了其他国家的土地。他们不知该如何是好。

  他们既非科学家又非运动员,虽然对气体动力学一无所知,但自从萌生了用热气球逃出东德的想法,就开始白手起家。买来了有关的书籍,从头学习有关原理。买来大量的纺织品,利用自己研制的相关设备一次次实验将要充当气球外体的布的质量。气象学要掌握、操作要掌握,材料学、工程学、物理、化学、力学等等知识都需要。后来,那个奇迹终于悄悄地在这一对普通东德人家的房顶下诞生了。在那个神不知,鬼不觉的深夜,那个欧洲最大的热气球载着两家人的希望和梦想,升上了东德阴霾的天空。他们什么都想到了:出境前被打落坠地、被逮捕入狱,出境后落入海中或落在人家房顶,落在城市中心等等,无论什么意外事故发生,好歹总要面对一个结局。他们就是没想到,什么意外也没发生,但当气球安全着陆时,竟是真相不明,无人理睬,没有下文。

  两对年轻的父母,带着四个年幼的孩子,闷在气球巨大的布面下,把未来的结局想设想了一遍又一遍:走出这泄了气的热气球,要么被东德政府关进监狱,要么向其他什么国家的政府投案自首,要么在西德安居乐业,重获新生。想想为这次逃亡而长久地呕心沥血,看看四个无辜的孩子,他们无法承受被东德政府关进监狱的命运,不敢走出气球;或者他们干脆把命运交给了上帝,听天由命。他们唯一能作的,就是祈祷。

  降落整整24小时以后,军人来了,揭开了气球。他们对这8个逃亡者说出了他们盼望了多少年的话。

  “你们自由了!这里是西德的领土”。

  历史的进程到了1989年下半年,东德已经是强弩之末。由于东德政府70年代以来所实行的指令性经济、农业全面集体化、强力发展重工业、严厉打击国内反对声音的经济、政治政策,导致经济发展几乎停滞,210亿美元的外债债台高筑、东德马克内债累累,环境污染严重,人民生活贫穷压抑,严重的不满情绪早以深深埋伏在社会民心之中。

  1989年11月9日,新东德政府开始计划放松对东德人民的旅游限制,但由于当时东德的中央政治局委员君特·沙博夫斯基对上级命令的误解,错误地宣布柏林墙即将开放,导致数以万计的市民走上街头。

  这一天,就象上紧了发条的钟表,突然失去指针,滴滴答答的钟声尤在,却不知何始何终——柏林墙的两面人山人海,鸦雀无声。

  面对这面耸立了28年,阻绝两德人民,制造了无数悲欢离合、生死哭歌、惨重牺牲的血墙,人们无法判断的是,当制造它的独裁政府部门和官员辞职的辞职,改选的改选时,柏林墙辞职了吗?它是否仍然戒备森严?它还能随意射杀越墙的逃亡者吗?自动射击装置是否完全解除?密堡暗碉里的岗哨是否仍然轮流值班?带缰绳可以自由追踪100米的警犬是否正严阵以待?

  没有任何官方的媒体报道这些与人们生息密切相关的消息。柏林墙依然无声地矗立着。它两面成千上万被阻隔的人们遥遥相对,心中纵有万马奔腾,脚却不敢越雷池一步。

  这是继两次世界大战之后,德国又一个历时转折的关头。而历史在这一瞬间干脆停下了脚步,为的是让人们记住它的沧桑。

  不知道渴望自由的人们同这面血墙对视了多久,终于有一个东德的青年人,壮着胆子,往那禁区的空地,试探着,迈出一只脚……

  没有反应。让脚落地,移动身体重心,再迈出另一只脚……

  仍然没有发现任何警戒方面的反应。

  小伙子双脚落在东柏林境内的禁区,人,暴露在自动枪击射程之内。

  柏林墙两岸,无数双眼睛被这年轻的躯体所抓住,人们不约而同屏神静息等待着……要么枪声乍起,又一具尸体倒卧在血泊中;要么人民淹没、踏碎这围墙。

  小伙子不急不徐,却一步千斤,载着两德的万众一心,牵着两德张开的手臂,在众目暌暌之下,从那片社会主义东德境内的边境开阔地,一寸一寸、一米一米走向资本主义西柏林境内。

  这应当是德国历史上,街头上最安静最紧张的时刻了。

  当小伙子在身前身后人山人海的无声的注视下,终于接近柏林墙,奋力攀上墙顶,预期的枪声仍然没有响起,紧张的人们却沉默得几乎要爆炸。

  然后,西柏林一边向这位以命相抵、探试自由的青年人伸出了丛林般的手臂;然后,小伙子双脚结结实实踏上了西柏林自由的土地。

  一瞬间,柏林墙两岸人声鼎沸,心旌摇荡,激动的情感潮流如洪水决堤。人们相互拥抱接吻,相互重复诉告着那个刚刚发现的不可思议的事实:

  柏林墙解放了。

  它的警卫事实上以然解除。

  它已经全然不过就是一堵墙而已了。

  两德人们相互拥入对方,成千上万的人们彻夜不眠地享受着亲友重逢的喜悦。两德人民拥满柏林墙墙上墙下墙东墙西,人们举杯相庆,奏乐狂欢,欢乐的自发的庆典持续数日,节日的气氛经久不消。

  无论如何,柏林墙的故事已经结束了。而且,是喜剧性的结束。人间的故事,如柏林墙这般悲惨的并不少,能够最终这样收场的,已经很不错了。

  德国人毕竟是幸运的,柏林墙见证了德国人的痛苦,全世界分享了他们的痛苦。他们被关注着。然而,还有那么多的人,他们的痛苦竟然是完全默然的。

 


 

  柏林墙倒下了,东德人终于获得了他们梦寐以求的自由,然而,类似的悲剧却并没有在这里地球上结束,我们看到在远隔德国万里重洋的另外一个国家,依旧有一堵用来对付自己的百姓的墙巍峨耸立着,唯一的区别是,大多数人看不到甚至不知道这堵墙。
 

2006年6月9日星期五

eWebEditor编辑器的安全漏洞

  今天帮一个朋友清除了Z-Blog里的一个系统漏洞。

  早上,ilmay发邮件给我,说他博客进不去,要我帮忙,我去看了下,发现页面文件里被加入了iframe恶意木马病毒,应该是被黑了,可能是利用了系统里的某个漏洞。因为他用的是Z-Blog Plus,和我用的自己修改的Z-Blog有点类似,因此我对这个漏洞也比较感兴趣。

  经过对IIS日志文件的分析,我发现原因是eWebEditor编辑器有重大漏洞。Z-Blog Plus提供了eWebEditor编辑器,却没有说明如何正确使用,并且不做任何修改而直接使用的话,简直就是一场灾难。

  首先的一个漏洞是eWebEditor提供了后台登录,默认用户名和密码可以登录进去。

  其次,eWebEditor目录下的Upload.asp文件,有一个极为幼稚的错误,即对于文件过滤只是通过sAllowExt=Replace(UCase(sAllowExt), "ASP", "")来禁止上传asp文件,那么为什么不同时过滤asa、cer等文件呢?而且怎么可以用这种有问题的语句进行过滤呢?事实上,黑客正是利用这个漏洞上传了一个后缀为asa的木马文件。

  解决这个问题的方法是,先用admin登录到后台,修改密码,然后删除admin_login.asp文件,如果不需要上传的话,最好连upload.asp也一起删除掉。另外我看了看eWebEditor的代码,感觉写的比较乱,可能还会有其他漏洞,不建议使用这个编辑器。

  对于Z-Blog的安全,我觉得,应该尽量少地增加一些编辑器或其他插件,关闭用户注册功能,关闭附加编辑器的上传功能,不要使用一些有安全漏洞的编辑器,这样才可以保证系统的安全性。

  另外要少在页面里添加外部的script代码,特别是统计代码。我就曾经为了统计浏览数而增加了一个名叫武林榜(50bang)的统计代码,曾经发现偶尔会出现病毒,也有用户举报,以前总以为是不是武林榜服务器被黑客攻击,后来才知道原来武林榜和周鸿袆、庞升东等搞过9991这样声名狼藉的木马病毒的人有着密切的关系,因此我以最快的速度将武林榜的代码从我所有网页里删除,防止其再去害人。

  在当今之中国,网民是命中注定要被那些做网站的老流氓们强奸,即使高手也会防不胜防。

2006年6月7日星期三

拼音输入法简评

  拼音输入法可能是大多数中国人必备的软件之一。拼音输入法最重要的是什么?我觉得是用户体验。

  以前用DOS的时候,用的都是中文系统自带的输入法,没有太多选择,后来用Windows,一开始使用的是智能ABC输入法,这个输入法是微软自己开发的中文输入法,虽然微软开发了不少中文输入法,但大多都很不好用,用户体验很不好,智能ABC算是好一些的。

  后来在BBS上聊天知道了紫光输入法,初次使用这个输入法,感觉非常好,和智能ABC形成很鲜明的对比。紫光输入法的输入速度非常快,体验非常好。其界面也清新干净,因此这个输入法也成为我的首选输入法。

  然而令人遗憾的是,紫光输入法的BUG较多,比如录入条经常无法隐藏,词库经常引起系统崩溃,我记得几年前,当我用的紫光频繁崩溃后,我曾打算放弃紫光,尝试找一些类似的拼音输入法,我找到了拼音加加。

  那时候的拼音加加版本较低,不过拼音输入还算可以,和紫光很相似。然而令人遗憾的是,早期的拼音加加使用了类似流氓软件的营销方式,每次我启动拼音加加,IE的首页都会被修改为拼音加加的地址,我手动修改回去,下次它又会修改回来,如此反复几次,我忍无可忍,只得将其卸载,这时我才感觉到紫光拼音是多么的好。

  树立良好的第一印象是非常重要的,拼音加加早期的这种行为实在很愚蠢。我也对拼音加加早期的这种行为表示不能接受和理解。虽然最近我也重新下载了拼音加加,发现最新版本已经可以禁用修改主页功能了,但是默认还是要修改主页,新版本的拼音加加使用起来还算可以,就是界面较为难看,我还是喜欢紫光那种干净清爽的界面。

  最近,从Keso那里知道了一个新的输入法:搜狗输入法,据说“目前还不是流氓软件”,根据搜狗自己的介绍,这个输入法能够“利用先进的搜索引擎技术,自动分析互联网上出现的新词热词,通过分析统计中国互联网35亿中文页面,获得最佳的词频排序,并动态升级输入法和词库。”

  这个思路的确很不错,很吸引人,于是我也下载安装了一个搜狗输入法,第一感觉还可以,其界面和使用方法和紫光拼音非常像,连快捷键也类似,不过搜狗的LOGO实在难看,希望能去掉。录入文字的时候,感觉也不错,很清爽的界面,看来紫光拼音终于后继有人了。

  不过我对搜狗和搜狐的印象不是很好,搜狗开发过工具栏流氓软件,我在搜狐注册的信箱也饱受搜狗垃圾色情邮件的连番轰炸,想退订都找不到地方。因此我还是对搜狗输入法保持警惕的态度,没准过几天它就摇身一变,干出一些令我们惊诧莫名的事情呢。

  另外在具体实现技术上我也有一些疑惑,比如搜狗拼音输入法说可以“自动分析互联网上出现的新词热词”,那么是通过什么方法实现的呢?如果是通过于搜狗服务器进行数据通讯,那么搜狗输入法是否将本地用户信息传输出去了呢?这种传输有没有什么安全隐患呢?没有上网的电脑如何获得“新词热词”呢?

  从这里我们也看到了一个问题,一个网络公司的品牌是多么至关重要。一个声誉好的网络公司提供的软件,用户可以放心大胆的使用和测试,而一个声誉不是特别好的公司提供的软件,用户在使用前就会犹豫不决,这恐怕也是这些公司当初开发流氓软件和发送垃圾邮件时没有预料到的事情吧。

  更新:另外提一句,人们对于各个拼音输入法的关注程度,可以通过Google Trends来看个究竟,通过这个链接,我们可以发现尽管紫光拼音还处于第一的位置,但是人们对紫光拼音的关注呈现下降趋势,目前已经快和拼音加加相等了,而智能ABC和微软拼音的搜索数目偏低。

2006年6月5日星期一

对于迅雷事件的思考

  最近中国网络界的抵制迅雷事件被炒的沸沸扬扬。

  事件的起因是,6月2日,国内最大的下载网站之一的华军和天空都宣布停止其迅雷下载,并发表了声明。两网站的声明基本一致,都指出迅雷是以盗链接(P2SP)的方式来进行下载加速,迅雷大量收集并盗用提供本地下载服务的网站下载链接,增加被盗网站的成本,造成了这些网站的直接经济损失,也侵犯了用户的隐私。

  对此,许多网民对此很不理解,他们认为迅雷给其提供了更快的下载方式,因此站在支持迅雷的一边。

  由于我从来没有用过迅雷,下载一直使用FlashGet,因此也不好对迅雷的技术做太多的评价,不过从各处搜索到的资料来看,我对迅雷采用的P2SP技术也大概明白了原理,其和P2P技术的BT下载是完全不同的,它通过搜集用户的下载信息,自动将各个下载站的下载链接整理出来,这样就使得用户可以直接通过链接下载文件,而不用再访问下载站的页面,这种访问方式,在业界叫做盗链,不仅能占用下载站服务器所购买的带宽,还会对下载站的广告业务造成损害。而迅雷则可以在不花一分钱的情况下使用别站提供的资源,甚至建立下载门户,完全不必担心购买下载服务器和带宽的问题。

  据我所知,传统的下载站做的很辛苦,需要不断增加服务器和带宽,才能应对更多的用户,获得更多的广告收入。对于下载网站来说,服务器和带宽的成本也非常高。举个例子来说,一般网站使用的100M共享的服务器托管,价格大约是每年5000元左右,实际上是几十台机器一起放在一个100M带宽的机柜里,运气好的可以获得2M左右的带宽,这样的带宽对于一般普通网站来说是足够的,但是对于下载站来说肯定是不够的,一般下载站使用的是独享100M带宽,这个大约是每年8万元左右的租用费用,独享100M带宽是个什么概念,这个带宽意味着理论上可以提供50个2M带宽的ADSL用户同时以250K的速度进行文件下载,而大型下载网站的同时在线人数起码有数千,为了给更多的用户提供更快的访问速度,就需要购买更多的服务器和更大的带宽,其费用实在不是个小数字,因此需要在下载页面上做广告以获得广告收入。而迅雷通过搜索引擎式的索引,便免费拥有了所有现在下载站的资源,而自己却没有花一分钱去租用带宽和服务器,这显然对于下载站是不公平的。华军和天空对迅雷进行抵制也是情有可原的。

  可惜的是,大部分上网用户不会知道托管、带宽这些事情的,许多网友沉浸在“免费”的互联网能够提供的巨大的“免费资源”的幼稚幻想中,却不知道在中国互联网上并没有什么活雷锋可以免费提供带宽,如果网站的广告费用不足以支持租用带宽的费用,那么网站的唯一下场就是关闭。因此迅雷的盗链行为的确缺乏道德支持,对于迅雷来说,解决这次事件的方法其实也很简单,就是迅雷自己要投入资金购买自己的服务器和带宽,一年应该也只有几十万元,这样就可以避免和各个下载站的矛盾了,从道理上讲的话,这样做也公平一些。

2006年6月4日星期日

无花的蔷薇

  人和人的魂灵,是不相通的。

  ......

  这不是一件事的结束,是一件事的开头。

  墨写的谎说,决掩不住血写的事实。

  血债必须用同物偿还。拖欠得愈久,就要付更大的利息!

  以上文字是鲁迅于一九二六年三月二十九日在《语丝》周刊上发表的《无花的蔷薇之二》的节选。

  一个事件之所以被称之为“重大历史事件”,是因为无论如何篡改、隐瞒、淡化、甚至销毁相关历史证据,其始终是令人刻骨铭心、永志难忘的。

  1980年的韩国“光州事件”,韩国的两届总统全斗焕和卢泰愚都一直企图掩饰“光州事件”的真相,在金泳三当政时的1996年,韩国前总统全斗焕和卢泰愚被起诉,最后全斗焕被判无期徒刑,卢泰愚被判入狱17年,“光州事件”获得了平反。

  1947年的台湾“二二八事件”,经过了长达半个世纪的隐瞒和篡改,也在1995年被平反,国民党前后任主席连战与马英九也都曾在2003年与2005年,就此事件而向台湾人民公开道歉。但依然无法避免国民党在连续两届大选中失败,二二八事件成为国民党的原罪,五十年后竟然还影响着政局和人心。

  历史是不能被忘记的,忘记历史意味着背叛。我们的历史不管是辉煌的还是耻辱的,我们都不应该忘记历史,不应该让悲剧重演。

2006年6月3日星期六

热文排行的算法进行了优化

  今天打算更改一下我的Blog的文章排行算法。

  以前的算法是根据点击数目来排行,有很多不足的地方,比如没有考虑时间因素,没有考虑用户对其的推荐等因素,最近使用抓虾系统的时候,对抓虾的“热文排行”算法产生了兴趣,因此我也打算使用类似的排行来进行我的Blog的文章排行。

  其中的积分算法是比较难确定的,我打算以文章浏览次数,评论次数,引用次数以及文章的日期来生成。把用户的评论数目作为推荐次数,文章的发表日期到今天的时间做为时间因素。

  1条评论和100次浏览有相同积分。

  1条Traceback等于2条评论的积分。评论和引用的增长是线性的。

  浏览次数增大,取得的积分以开平方根的方式增长,即数字越大,变化越小。

  文章的日期做为负积分,以指数方式增长,越老的文章,会变为越来越大的负数积分。

  用数学算法表示即:log_CommNums*100 + log_TrackBackNums*200 + sqr(log_ViewNums)*10 - (date()-Log_PostTime)*(date()-Log_PostTime)

  从这个算法中,引用和评论对积分的增加影响最大,时间因素对积分的减少影响最大。以这个算法产生的“热文排行”见左边,其每天会自动更新,我将观察一段时间,看看这个算法的效果如何。

  具体的修改方法如下:

  在c_system_event.asp中加入下面的函数:

'*********************************************************
' 目的:    重建排行
'*********************************************************
Function BlogReBuild_Toplist()

 Dim i
 Dim objRS
 Dim objStream
 Dim objArticle
 Dim strLogUrl

 Dim strPrevious
 Set objRS=objConn.Execute("SELECT [log_ID],[log_Url],[log_Title] FROM [blog_Article] WHERE [log_Level]>1 ORDER BY log_CommNums*100 + log_TrackBackNums*200 + sqr(log_ViewNums)*10 - (date()-Log_PostTime)*(date()-Log_PostTime) DESC")

 If (Not objRS.bof) And (Not objRS.eof) Then
  For i=1 to ZC_PREVIOUS_COUNT
   strLogUrl=objRS("log_Url")
   If IsNull(strLogUrl) Or IsEmpty(strLogUrl) Or strLogUrl="" Then
    strLogUrl=objRS("log_ID")
   End If
   strLogUrl=ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & strLogUrl & "." & ZC_STATIC_TYPE
   strPrevious=strPrevious & "<li><a href="""& strLogUrl & """>" & objRS("log_Title") & "</a></li>"
   objRS.MoveNext
   If objRS.eof Then Exit For
  Next
 End If
 objRS.close

 strPrevious=TransferHTML(strPrevious,"[no-asp]")

 Set objStream = Server.CreateObject("ADODB.Stream")
 With objStream
 .Type = adTypeText
 .Mode = adModeReadWrite
 .Open
 .Charset = "utf-8"
 .Position = objStream.Size
 .WriteText = strPrevious
 .SaveToFile BlogPath & "/include/toplist.asp",adSaveCreateOverWrite
 .Close
 End With
 Set objStream = Nothing

 BlogReBuild_Toplist=True

End Function
'*********************************************************

  然后在MakeBlogReBuild函数的BlogReBuild_Categorys后面加上一行BlogReBuild_Toplist。

  修改c_html_js.asp,在f="TRACKBACKS"后面增加
 ElseIf f="toplist" Then
  f="TOPLIST"

  修改single.html模板文件,在合适的位置增加下面几行。
<div class="function" id="divTopList">
<h3>热文排行</h3>
<ul>
<script language="JavaScript" src="<#ZC_BLOG_HOST#>c_html_js.asp?include=toplist" type="text/javascript"></script>
</ul>
</div>

  最后,重建索引,重建文件,就完成了。

  具体效果参见本页左边的“热文排行”栏目。

  更新:在Z-BLOG 1.7下的修改方法

  前面修改代码不变,之后,修改TEMPLATEdefault.html模板,在适当位置加入以下语句:

<div class="function" id="divTopList">
<h3>热文排行</h3>
<ul>
<#CACHE_INCLUDE_TOPLIST#>
</ul>
</div>

  修改TEMPLATEsingle.html模板,在适当位置加入以下语句:

<div class="function" id="divTopList">
<h3>热文排行</h3>
<ul id="ulToplist">
<script language="JavaScript" type="text/javascript">strBatchInculde+="ulToplist=toplist,"</script>
</ul>
</div>

  最后重建索引即可。

  参考文章:抓虾指数的热文排行的产生

  来源:http://www.zhuaxia.com/blog/?p=20

  抓虾的热门文章是大家“顶”上来的。对于每篇文章,每个人有且仅有一票(包括我们虾米自己也一样,只有一票)。推荐出来的文章,按下面的规则排列顺序,希望能够兼顾文章的新鲜(按时间)和价值(按票数)。

  1、两天之内推荐的文章,优先于超过两天的;

  2、同样是两天之内推荐的文章,票数高的优先;

  3、同样是两天之内,且同样票数的文章,最近被推荐过的优先。

  也就是说,假如一篇文章在两天内无人继续推荐,估计大家对它的兴趣就不大了,或者说它有点“过时”了,它就应该被排在后边。

  “两天”的窗口期是暂时拟定的,以后也许会调整。另外,每个人的那一票,以后的权重可能会不一样(比如,如果小虾推荐的文章总是被大家认可,那末小虾以后的推荐会更有分量。)总的想法,还是希望平衡文章的新鲜和价值。以后会加分类,搜索,和过滤功能,让大家更方便地看到自己喜爱的文章。
 

Google打不开的解决方法

  在Google.com里面进行搜索的时候,经常会遇到突然出现“该页无法显示”的提示,并且之后的十多分钟都无法正常连接Google,这里给出一些方法,可以解决大部分Google无法访问或进不去的问题。

  1、最开始可以先尝试重新拨号的方法。如果是搜索过程中出现“该页无法显示”的提示,接着就无法访问Google,那么对于ADSL用户,可以尝试断开网络连接,然后重新拨号上网,这样你的IP地址就发生了变化,这时候就可以正常访问Google了。(其原理是防火墙只是针对IP封用户,而不是针对独立电脑)

  2、如果一开始就无法访问Google,那么请把下面这一行:

  216.239.63.104 www.google.com 或者 64.233.171.99 www.google.com 或者 216.239.53.99 www.google.com

  添加到:C:WINDOWSsystem32driversetchosts文件里,就着访问Google看看是否正常。(其原理是提供较为少用的Google镜像访问)

  3、使用Google的镜像IP地址来访问Google,Google有很多IP地址,通过IP可以直接访问Google。

  4、使用Google其他国家的域名来访问Google,例如Google日本的域名google.co.jp,不过请注意,Google其他国家的服务器也在美国,因此搜索词语的时候也会出现“该页无法显示”的可能。

  5、如果碰到DNS劫持的封锁方法,那么需要选择正确的DNS服务器,将主DNS设置成国外根服务器的DNS,然后辅助DNS设置成国外的DNS。具体做法:在拨号网络或网卡属性里设置,主DNS设成 202.12.27.33,辅助DNS:202.216 .228.18(日本DNS),或者使用美国的OpenDNS,首选DNS服务器和备用DNS服务器分别设置为208.67.222.222和208.67.220.220。大家还可以自己找一些快的国外DNS。 (其原理是DNS劫持只能够控制国内的DNS服务器,而对于国外的DNS服务器则无能为力,因此只要不使用国内的DNS即可)

  6、对于GMail,使用http访问访问的话最好不要选择“带有聊天功能的标准视图”,否则容易中断。尽量使用加密的https地址 https://mail.google.com 来访问GMail,这将极大提高访问的稳定性,并且在GMail里使用GTalk也很稳定。

  7、使用加密的代理服务器软件(SSH,VPN)来访问Google,当然目前的一些免费的加密代理服务器都不是很稳定,速度也不是很理想,建议购买收费版。

  8、使用HTTPS来访问Google,由于Google的Https域名encrypted.google.com也被DNS污染,因此需要修改hosts文件,Windows系统中Hosts文件的优先级高于DNS服务器,操作系统在访问某个域名时,会先检测HOSTS文件,然后再查询DNS服务器。可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持。

Google无法访问

  当然,上面的方法有时可能会实效,我觉得最稳定和有效的方法是HTTPS的Google搜索,HTTPS版本的Google一劳永逸地解决目前几乎所有的问题,https是安全访问网站的一个重要的方法,目前还没有看到能截获https的加密数据的防火墙,因此搜索任何关键字都没有问题,目前Google的HTTPS搜索唯一的遗憾是没有图片搜索功能。