2009年7月31日星期五

轻松搭建一个Windows SVN服务器

  前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。

  通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。

  目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。

  安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。

  安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。

VisualSVN Server

  SVN客户端依旧推荐使用Windows下的TortoiseSVN,两者搭配起来,非常好用。

2009年7月30日星期四

TortoiseSVN使用帮助和下载

  随着应用软件的开发规模及复杂程度日趋大型化,使得软件开发模式从早期的个人作坊式渐渐转变为团队协作开发方式,在这种团队协作的开发模式,为了管理好开发项目,就离不开版本控制软件,在开发过程中采用版本控制软件,能够完整地保存开发中对应用程序每一个源文件所有的修改记录,充分地利用版本控制软件能够对软件开发进行卓有成效的管理。

  常见的版本控制软件有VSS、CVS和SVN

  VSS(Visual Source Safe)为微软的产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是VSS只能在windows平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。

  CVS(Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过CVS的部署比VSS要复杂一些。

  SVN(Subversion)作为CVS的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代CVS.总的来说,CVS在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数CVS服务已经改用SVN.

  目前流行的Google Code开源项目托管平台就是使用SVN进行版本控制。

  Windows下的SVN客户端

  TortoiseSVN是Windows下的SVN(Subversion)版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。用户可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。

  下载TortoiseSVN

  TortoiseSVN的官方下载地址是 http://tortoisesvn.net/downloads ,普通Windows用户下载32位软件即可,下载地址后面还有中文语言包(Language packs)提供,安装完后可以将TortoiseSVN的界面编程简体中文。

  TortoiseSVN使用简介

  安装完成TortoiseSVN后,会发现文件夹图标被重载,不同的重载图标所表示不同的意义。所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执行。右键点击一个文件或者文件夹,大多数菜单项都能够直接显示。比较常用的功能是“更新”和“提交”。通过“更新”可以从SVN服务器上下载最新的代码,“提交”则可以将本地修改的代码上传到SVN服务器上。

  更为详细的TortoiseSVN使用帮助,请参考TortoiseSVN中文手册

  Google Code上使用SVN

  在Google Code上使用SVN提交的时候,会要求输入密码,这个密码并非你的Gmail密码,而是Google Code密码,在Profile-Settings中可以看到你的Google Code密码,我第一次使用Google Code的时候就误以为是Gmail密码,结果重复输入了N次密码都没提交成功。

2009年7月29日星期三

解读谷歌中国低俗门,谷歌被陷害证据不足?

  一个月前的谷歌低俗门事件疑点重重,由于网络流出谷歌可能被当局陷害的证据,网民几乎往谷歌一边倒。本人学习法律,深知证据的重要性和国人人云亦云的特点,希望用更多的数据进行分析,以求达到辟谣的目的。我不太懂技术层面的原理,同时也不谙谷歌这两个统计工具的算法,我把它们当成未知的函数,希望通过代入广泛的变量,期许管中窥豹,多多少少了解一点它们的“函数性质”。我的结论是:仅仅通过网路上的证据,尚不足以认定谷歌遭陷害的事实。

  这张截图是今日央视官网焦点板块的“谷歌专区”。据说,今年谷歌中国三次收到了央视的橄榄枝,前两次可谓“众星捧月”,但是这一次,谷歌一个人遭批斗。有意思的是,三次都登上了冠冕堂皇的《新闻联播》的谷歌中国,理由并不是那么冠冕堂皇,三次都是因为涉嫌充当网络色情的催化剂。我们可以看到,央视和中国互联网协会互联网违法和不良信息举报中心从来没有如此完美地收官,似乎高同学就是“一锅白米饭中的一粒鼻屎”,大煞风景。

解读谷歌中国低俗门

  我其实很早就从手机冲浪里了解了这次事件,但是当时只是一笑而过。昨天晚上我在写一篇关于中国网络审查制度的文章的时候,不经意看到了一篇文章。大意就是指谷歌被暗箭所伤,实乃虚拟世界上演真实的六月飞雪!我仔细分析了大家的证据和臆测,同时不忘看看网友的留言,突然感觉这件事情其实没有那么简单。我在想,有理由写一篇文章来分享一些我自己不成熟的见解,毕竟孰是孰非,自有公理,“不可以用谎言对抗谎言。”(月光语)

  首先看看网路流出的谷歌被陷害的说法。据说谷歌上搜索“儿子”后出现的低俗内容都是之前人为刷关键字形成的。

  主角就是下面这张图片。

谷歌被陷害

(图片来源:月光博客)

  这张图究竟有什么玄机呢?

  这是谷歌在今年刚刚推出的工具“Goolge Insight For Search”它可以形象直观地表现出人们的搜索兴趣,是关键字的流行风向标。目前只有英文版本。注意它的纵坐标的参数的意义。 They don't represent absolute search volume numbers,那它指什么呢?假设迈克尔杰克逊挂掉那天,北京全市有300万的人用谷歌进行搜索,其中有20万人打入了“迈克尔.杰克逊”这几个字;同一天,浙江省全省有1000万人使用谷歌,其中有65万人搜索这个词语,说明北京有7%对杰克逊感兴趣,而浙江有6.5%的网友对迈克尔情有独钟;接着北京为标准分成100个级别,浙江的数据就是100乘以6.5处以7,大约等于93.这时我们就会看到这样的图表:

数据图表

(数据仅供参考)

  当时在谷歌中国里,也有一个它的祖宗Google Trends,功能基本上是一样的,只是前者的推出更像是迎合了一些需要高级功能的研究人员和广告商。需要注意的是,它们使用的数据库是一样的。那么,Google Trends又是怎么说的呢?

Google Trends的数据图表

(图片来源:月光博客)

  可以清楚地看到,正是由于新闻联播和焦点访谈无与伦比的号召力,广大网民纷纷在新闻播出后即18日上网求证,所以造成了曲线在十八日大高潮的来临。这是其实也是疑点之一,我会在下面的论述中提及。

  于是有人在谷歌文档里发表了一篇文章,然后拿出了上面这张图。照理来说,新闻联播是在18号对谷歌进行曝光,网友为了一探究竟,一般都会在18号以后键入儿子等等联想词,所以曲线应该在18号开始上升。而如果我们仔细研究个图表,就会发现,曲线从十号开始就很有规律的上升,而在十七号晚上,终于到达了高峰。为什么调用同样的数据却生成两张完全不一样的图表,是中途动了手脚,抑或是系统采取了不同的算法?

  下面的分析不完全是本人的原创,很多是某些人之前的无心插柳,但有心人听到了。

  我们看到曲线的折点之间似乎相差了一周的时间间隔,是不是对于一些冷僻的词组和关键字,Goolge Insight For Search会默认以一周为时间单位进行数据的采集和处理呢,然后根据常理的推算进行中间的数据点的“插补”。

  有网友提出了这样的观点,只可惜淹没在大家不理智的“嫉恶如仇”当中。所以我们看到的是城门失火,殃及池鱼(这样的比喻,百度的粉丝不要骂我),大量抵制国产搜索引擎的留言泛滥;更有甚者,把矛头直接对准了CCTV和它背后的靠山,言论偏激。不知道大家还记不记得,正义或是邪恶的斗争总是需要一个导火索,我想摆事实,讲道理,不想重蹈先人的冲动。

  谷歌在2006年正式在大陆开展服务,这几年的摸爬滚打实在不容易,正如李开复所言“我们希望做一个既合法、又完整的搜索引擎。这一点,谷歌总部是有共识的”企业也有自己的价值底线需要去传承,更何况是一家标榜人权的美国公司。不过,我记得曾经有一家美国民间人权组织AMNESTY INTERNATIONAL USA这样写道:(为了不被和谐,用截图好了)

来自美国的对Google的责难

  这是来自自家本土的赤裸裸的责难,不过凭借着清爽的界面和人性的服务,谷歌的市场份额不断上升。根据易观国际Enfodesk今年五月下旬发布的《2009年第1季度中国搜索引擎市场季度监测》显示,谷歌中国的市场份额首次超过30%。

搜索引擎市场份额

  我想,随着谷歌音乐以正版音乐的良好质量占据打击盗版的道德高地,越来越多的年轻人会选择谷歌。这正是一直以来谷歌在客户群体上的软肋。我们可以在下面这三张表格里面发现,谷歌的定位着眼拥有一定知识水平的客户,它的很多产品也更加拥有技术含量。

高端用户使用的搜索引擎
百度
Google
其它
比例
27.9%
58.7%
13.4%
 
25岁以下年龄段的市场份额
百度
Google
其他
比例
62.7%
23.7%
13.6%
25岁以上年龄段的市场份额
百度
Google
其他
比例
39.5%
42.7%
17.8%
 
学生中的市场份额
初中
高中
大专
大学本科
硕士
博士
百度
58.5%
71.5%
73.3%
58.9%
40.0%
25.0%
Google
24.5%
17.9%
8.9%
27.7%
50.0%
75.0%
其他
17.0%
10.6%
12.8%
13.4%
10.0%
0.0%

(以上数据来自:《2005年中国搜索引擎市场调查报告》北京部分)

  哈哈,写着写着就脱缰成野马,我的毛病一直没改。

  回归主题,为了证明Goolge Insight For Search处理数据有时会偏心。我特论述一下几点理由。

  一、外国人以周日打头阵,所以夹在中间的星期三成了一个采集数据的不错选择,当然数据应当算这一周七天的的平均数。到底是不是这样的呢?至少上图的十日就是周三。我们先放着,往下看。

  二、我在Goolge Insight For Search上搜索了以下三个关键字。结果非常漂亮。(MJ也是我的最爱,他在天堂如果看到这篇文章千万不要Beat Me啊)

Goolge Insight For Search上搜索MJ

Goolge Insight For Search上搜索MJ

  大家可以看到这三条曲线拥有完全相同的折点日期,分别是六月十七日、六月二十四日、七月一日、七月八日。它们之间相隔七天,而且均是周三。

  这恐怕不能解释成有人恶意在同一天刷爆关键搜索字了吧。

  三、我喜欢在碰到新鲜的互联网工具时第一时间看看它的帮助说明。以下就是我从一大堆英文网页中发现的蛛丝马迹。

英文

  从这句话中,我了解到对于不流行的词汇,机器会调整数据的频率,只是为了更容易的分析。因为看下面:

英文

  我想,这一句已经足够明了。

英文

  这句话表明它有数据流量的准入门槛。最后一句话更是关键中的关键,它讲的是谷歌比你们想的周到,早就采取了措施防止某些人恶意刷数。

  四、换一个角度考虑问题。可以看到这次谷歌的联想词保守了不少,措辞也不够地道。如果正在看这篇文章的你和我一样臭味相投,一定知道用这样的字眼去搜索简直太菜了。有一种可能,通过非刷新的方式篡改数据,郑重强调,这只是一种猜测!

  值得注意的是,月光博客里有一篇文章,讲的是07年的时候碰巧写了一篇有关搜索建议的博文,同时也做了截图,说明在“机器”根据频率进行联想词筛选时,的确出现了这样的结果,好笑的是,这里的词语简直不堪入目,是之前望尘莫及的。就好像中国人知识水平高了,荤段子也含蓄了。百度之前可能也存在这样的情况,现在可以光明正大的以五十步笑百步喽。

历史截图存档

(图片来源:月光博客)

  五、到目前为止,依然没有谷歌内部工作人员透露一点情报,我们看到的是李开复一如既往地堆彻绅士微笑,赔礼道歉,认真整改。如果内有不可告人的的冤情,自然会有人憋不住心中这口恶气。

  六、如果一个高频词汇的诞生可以如此轻而易举,那企业何必花巨资打造广告。

  可惜的是,老牌节目《焦点访谈》同样深陷公信危机。高同学的一句“记者叫我怎么说,我就怎么说”让人很难不把这一连串事件解释为阴谋。从上面一些图可以看出大家对于这条新闻的反映还是很大的,这个大就从侧面说明谷歌的做法根本没有节目中的“局外人”说的那么病入膏肓,因为只有心存疑虑,才会去点击,才会有流量爆炸。如果言论自由被限制,再加上一个连自己定位立场都不清楚的电视台搞舆论独裁,我还有什么话可以说呢。

  值得注意的是,今天我发现在CCTV专题谷歌低俗门的显要位置出现了这个

  究竟葫芦里卖的什么瓜,大家可以放肆意淫,冷静表态,小心求证。

CCTV的专题

(图片来源:中央电视台)

  事件已经过去了一个月,谷歌也的确有了一些动作。如果这真的是一场有目的的“杀猴儆鸡”。应该看看谷歌的整顿措施是不是有暗渡陈仓的嫌疑。首先谷歌关闭了搜索建议,这是一了百了的应急措施,我相信这个功能不会英年早逝。然后是去除“语言”和“地域”两个按钮,前者可让用户选择是搜索中文简体网页还是繁体网页,后者可选择搜索中国大陆网页还是全球网页。也就是所谓的关闭境外网站搜索业务。不过今日www.google.com已经开放了,只是中文首页依然没有那些按钮。前者是可以暂停的,后者关闭会造成严重的商业损失和国际舆论谴责,我想有些人不是傻子。

  结束前想对其他网友的疑虑试着做一下解答,应该可以吧?

  月光博客有两幅有出入的图,见下面:

搜索“儿子与情人”

Google Insights搜索“儿子与情人”(全球范围)

搜索“儿子与情人”

Google Insights搜索“儿子与情人”(北京地区)

  就一个地域范围的差别,为什么会造成数据采样频率的不一样呢,可能还是机器的算法吧。我们试着假设北京在事件发生后对此特别特别关注,全球数据因为人口基数大,让机器以为这个词汇不够热只适合一周一次去取数据,尽管事实上谷歌都有这个词条的每日流量记录,只是没有显示出来罢了。北京就不一样了,人口基数突然变少,这时机器就觉得有必要一天一次的形势展现给搜索者。

  今天晚上,我试着往谷歌里敲入“谷歌 陷害”这样的关键字,发现一些论坛到处转载这些不负责任的文章,只有月光博客还没失去理智。我认为有必要在这里进行辟谣,因为我希望大家可以用事实说话。

  针对it168上的“用数据说话 看看Google是如何被陷害的”文章的回击

  (这篇文章的点击量达到了16万以上,排搜索结果第一位)

  这是他的证据

陷害谷歌的证据

  首先根据曲线在17号戛然而止,说明这很有可能是20号以后的从14日到20日的平均数据。从这里可以很清楚地看到为什么Goolge Insight For Search的数据记录总是晚三天左右,因为要等到周六(20号),一周统计才结束,然后把平均数标注在周三上面。

  现在我正式提出以下疑虑:

  一、“这些搜索量100%来自北京。”这句话是错误的,上文的帮助文件已经说明,数据采集需要达到一定门槛,这导致了我国一些信息化程度不高的城市很难满足这个条件,所以显示为0.其次,Goolge Insight For Search的纵坐标可以生动地表示为是一个人打开google后可能会敲入某个关键词的概率,并不是指搜索量,图表明确标示了是“Interest over time”,这是与谷歌趋势的另一大区别。北京相对于其他省份是直辖市,人口比较少,所以基数小,这样会导致似乎北京人对“儿子母亲不正当关系”特别感兴趣,其实这是算法和截止时间造成的假象。证据在下面:

证据图示

证据图示

  上图中的时间截至七月十四日左右,照理说应该离新闻联播播出有将近快一个月了,为什么其他的省份的人如此麻木?照你的意思是,其他省份的人民根本就没有搜索过么?这充分说明北京对谷歌低俗门的“兴趣”表现出如此反常的行为特征,是有其深刻的原因的,有主观也有客观,岂是你厮两三口唾沫就解释得了的!

  那到底为什么会有如此奇特的现象产生,我认为应当和当地谷歌的普及率,当地自身的信息化程度,以及这个行政单位的人口(包括总数和人口成分)以及当地经济发展水平有关系。不信的话,可以再看下面这两张图:

证据图示

证据图示

  是不是觉得两张中国地图中的北京、山东、江苏、广东等省份都是颜色比较浓的。我认为,这两者(人口和新型词汇的查询率)之间存在某种联系。

  二、“有人故意在谷歌大量搜索黄色词汇,使单日黄色词汇搜索量同比猛增 5950% ,单月搜索总量与上月相比增幅达数千倍。”请原谅我才疏学浅,特别是大学里放弃了数学。请问从你提供的证据,如何得出上面一精一略两个数据。洗耳恭听。(并且你提到之前的“搜索量一直为0”,除数为0,你居然可以算出猛增5950%!我今日总算见识了传说中的“无中生有”)

无中生有的指控

无中生有的指控

  三、这两张图也是相当值得分析。我之前已经声明过,所有的材料均应该取自20号左右(前提是原作者只是一时糊涂,并没有可以造假)。我们发现在右边的“上升排行榜中”,根本就看不到日期。如果是18号以后这数据又有什么奇怪呢。下面是我的证据:

儿子与母亲

  看清楚了么,和谷歌趋势是一样的,都是十八号开始流量上涨的。并不是之前所说是人为刷上去的。

  接下来我们在来看看另一位粗心的网友。这位匿名网友在网路上发布了一题为《谷歌,你不应该服务中国大陆》的pdf文件。里面他提出了自己的疑惑:

谷歌,你不应该服务中国大陆

谷歌,你不应该服务中国大陆

  这里他犯了一个超级大的错误,这里的横坐标的17指的是17日的早上零点整,17到18指的是十八日一天,新闻18日播出,当然应该在这一天开始上涨。不是在十七号刷上去的。至于为什么全国范围内的曲线和北京的曲线如此相似,和之前那个糊涂蛋说数据流都来自北京的原因也是因为北京在事件发生后的确在趋势上起到了主导作用。同时我也希望广大网友在拿出证据的时候可以可以附上insight的时间段和过滤条件,只有一个曲线,如何使人信服?如果找你的逻辑,“杰克逊死亡”这个关键词也是25号刷出来的么?他是北京时间26号凌晨死的。见下图:

时间的计算

  (后记:我要感谢月光博客的博主,只有他在碰到数据的时候会进行冷静思考。以及那些忍不住寂寞,说上两句的网友,是你们的智慧,才有了这篇处处渗透马克思触角的文章,希望大家多用事实说话,毕竟曾经的焦点访谈已经离我们而去,所以我们只能相信自己的眼睛了)

  2009.7.20

  作者:潘亚东

  职业:法学本科大一

  地点:温州

  工作单位:浙江工商大学

  联系方式:qq:315110793

2009年7月28日星期二

企业进行网络营销推广的技巧

  网络营销和传统营销比起来,具有投资小,见效快,回报大的特点,企业在发展的过程中,可以利用互联网进行一种全新的网络营销模式,推广自己企业的产品和服务。下面我介绍一些企业进行网络营销的方法和技巧。

  1、企业博客营销

  以博客为代表的Web2.0概念有着很好的互动和沟通性,很利与网民的参与和发挥创造力。企业也可以通过企业博客的形式进行对内对外交流沟通,达到增进客户关系,改善商业活动的效果。

  企业博客应该在建立之初就拟定发布规则和指南,包括不能泄露机密信息,不能发布可能危害公司声誉的信息等等,以降低企业博客可能存在的风险。

  企业博客的网络营销价值主要体现在几个方面:可以直接带来潜在用户、为用户通过搜索引擎获取信息提供了机会、可以方便地增加企业网站的链接数量、博客是建立权威网站品牌效应的理想途径之一。企业可以和新浪、搜狐、网易等门户合作,在其门户上开辟自己企业的博客,也是是建立权威网站品牌效应的理想途径之一。

  2、免费软件营销

  企业的网络营销目的就在于推销自己的产品,而低成本高效的推广产品的一个重要途径就是发布一款免费软件,网民乐于下载使用免费软件,还乐于传播和分享使用免费软件的心得,如果企业前期通过免费软件的方式,获得大量用户,那么就可以通过各类方法来挖掘这些用户的商业价值,实现企业收费软件的销售。

  免费软件做的最好的算是Google,Google有全系列的免费软件,著名的免费软件包括:Gmail、Google Earth、Google拼音等,在Gmail免费软件中,只能使用Google的域名,企业用户要想使用Gmail,就要用收费的Google Apps企业应用套件。同样道理,Google Earth本身是免费的,但要使用高清晰打印或导入数据,则要用收费的专业版。

  如果企业没有和免费软件对应的收费软件,那依旧可以利用免费软件进行营销,例如Google拼音输入法的例子,这个软件是免费的,也没有收费版,不过Google拼音会捆绑Google工具栏,还绑定了Google搜索,最新版的Google Earth也捆绑“Google 软件精选管理器”,这样就通过流行的免费软件推广自己的核心或者收费产品。

  3、网络广告营销

  通过Google Adwords和百度推广等产品,企业可以网络推广拓宽传统软件销售量,例如,用户搜索某一行业问题的关键词,在搜索结果中显示企业相关解决方案和产品,或者在一些知名博客或网站做内容相关的定向广告,将对这些内容感兴趣的用户吸引到企业的相关产品页面,也可以实现低成本的网络营销。如果广告优化的当,预算分配合理,则ROI(投资回报率)会很高。

  4、社区推广方式

  在一些知名社区搞一些活动,形成线上线下的互动,定时举行在线会议或线下推广会议,鼓励博客写作等等,都可以在社区和SNS上推广企业的产品。

  在网络上大企业并不比中小企业具有太大的优势,而且往往会忽视网络营销的作用,很多企业甚至不了解网络营销这种推广方法,相比传统媒体,网络营销的优势非常明显。其低成本、受众范围广、传播效率高等隐私都是网络营销的优势,企业要想开拓自己的蓝海,进行低成本营销的必经之路。在新的经济形势下,谁能把握网络营销的脉搏,谁就能取得致胜先机。

2009年7月27日星期一

免费开源微博客程序一览

  以Twitter为代表的微博客是今年非常火的社交网络,在国内的发展也在上半年一度非常迅猛,虽然现在大多数微博客都因为种种原因无法访问,但这并没有降低人们对微博客的热情,实际上,自己动手搭建一个类似Twitter的微博客平台并不困难,这里我就介绍一些常见的开源微博客程序,有了这些开源代码,只要稍懂一些电脑知识,就可以在短时间内搭建一个类似饭否或Twitter的微博客平台。

  Jaiku

  Jaiku(演示地址)是一个基于Python的微博客平台,2007年被Google收购,不过之后并没有对其成功运营,只好在2009年宣布对其停止维护,稍后Google就将Jaiku完全开源,并切换到AppEngine上运行,目前Jaiku完全开源并提供用户免费下载,大家可以到Jaiku源代码项目地址,使用一个SVN工具下载其源代码。

  Laconica / StatusNet

  Laconica / StatusNet(演示地址)是一个基于PHP和MySQL的开源微型博客系统,也是一个Twitter克隆,可以实现Microblog的常用功能,国外不少微博客系统都是通过这个开源系统架设的。Laconica得到大量应用系统的支持,包括Twitterfeed、Hellotxt和Gravity等,成熟且稳定。点这里下载其源代码。

  Yonkly

  Yonkly是基于Asp.Net的开源微博客,除了开放源码的版本,它还有一个用于托管的高级独立版本。

  Floopo

  Floopo是基于PHP和MySQL的免费的微博客系统,它的功能非常类似Twitter,并且提供了强大的后台管理系统。

  Sweetter

  Sweetter是一个开源的微博客项目,具有一定的投票机制,基于Python,点这里可下载其源程序代码。

  Jisko

  Jisko的界面和Twitter很像,能够自动通过AJAX更新,也是基于PHP和MySQL的,这个系统可能是西班牙人开发的,使用SVN到这里下载其源代码。

  P2 Wordpress Theme

  Wordpress主题的P2(PHP)是一个WordPress的Twitter主题,可以将你的WordPress博客转换成一个类似Twitter的微博客系统,它支持实时更新,发布的信息和评论不许刷新即可显示。

  最后介绍几个国内中文的开源微博客系统。

  记事狗开源微博系统

  功能很全面,是一套全新的开源PHP微博程序,其支持Web、手机、QQ机器人等多种方式发布微博,并接收更新通知。点这里下载源代码。

  EasyTalk

  界面挺像饭否的,API接口也和饭否类似,基于PHP和MySQL,点这里下载源代码。

  PageCookery

  也是基于PHP和MySQL,支持和叽歪的同步,点这里下载源代码。

  好了,以上就是我介绍的一些免费开源微博客系统,通过这些程序,我们可以搭建一个自己的饭否或Twitter,是不是很酷啊。如果大家知道什么更好的开源系统,请留言和大家分享。

2009年7月26日星期日

关闭博客留言本功能

  今天,将我博客的留言本功能关闭了,而使用一个邮件发送表单来替代,用户留言将直接发送到我的个人信箱中。

  之所以关闭这个“留言本”,其中一个原因是该页面在Google搜索“留言本”的页面排名太靠前,结果大量垃圾留言通过程序自动在该页面发布,黑帽SEO搜索“留言”和“留言本”的目的,就是为了找到页面来发垃圾链接,所以我的留言本就终日收到这些人的连番轰炸。

  关闭“留言本”更直接的原因是,前几天有人在留言本发了多条销售非法物品的广告,而这些“有害信息”留言差点让我的服务器被拔了网线,可见这些发送垃圾链接的家伙实在是害人啊。

  因此我有必要将这个留言本功能进行一定的改造,通过邮件的方式发送,而不直接在留言页面显示。

  将留言发送到Gmail还有一个好处,就是可以进行分类和过滤,我将接受留言的地址设置一个标签,然后用过滤器直接存档,对于垃圾留言,Gmail还能自动对垃圾邮件进行过滤。

  以下是该发送邮件功能的ASP代码。

<%
if request.form("email")<>""  then
 if instr(request.form("email"),"@")>0 then
  mail "[email protected]" , request.form("subject") , request.form("body")
  response.write "邮件发送成功!我们将尽快处理!"
  response.end
 else
  response.write "邮件地址“" & request.form("email") & "”错误,发送失败!"
  response.end
 end if
 response.end
end if
sub mail (mailto , mailsub , mailbody)
 dim jmail
 set jmail = server.createobject("jmail.message")
 jmail.silent = true
 jmail.logging = true
 jmail.charset = "utf-8" 
    tmprecipient=mailto
    do 
        if instr(tmprecipient,";") <> 0 then
            tmprecipient1 = left(tmprecipient,instr(tmprecipient,";")-1)
            tmprecipient=right(tmprecipient,len(tmprecipient)-instr(tmprecipient,";"))
            jmail.addrecipient tmprecipient1
        end if   
    loop while instr(tmprecipient,";") <> 0
    jmail.addrecipient tmprecipient 
 jmail.fromname = request.form("sender")
 jmail.from = request.form("email")
 jmail.replyto = request.form ("email")
 jmail.subject = mailsub
 jmail.htmlbody = mailbody
 jmail.priority = 1
 jmail.send("127.0.0.1")
 jmail.close()
end sub
%>
<html>
<head>
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<title>留言本-月光博客</title>
</head>
<body class="single">
<form name="frmmail" method="post" action="<%= request.servervariables("url")%>" onsubmit="return checkvalue()">
<table border=0 cellspacing=2 height=150 width=600>
  <tbody>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>姓 名:</div></td>
    <td height=2 width=519><input type="text" size="60" name="sender"> </td></tr>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>邮 件:</div></td>
    <td height=2 width=519><input type="text" size="60" name="email"> </td></tr>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>主 题:</div></td>
    <td height=2 width=519><input type= "text" size= "60" name= "subject"> </td></tr>
  <tr>
    <td colspan=2><div align=center>
 <textarea cols=82 name="body" rows=12 wrap=physical title="可以使用ctrl+enter直接发送邮件" onkeydown="javascript:if(event.ctrlkey && window.event.keycode==13){this.document.frmmail.submit();}"></textarea> 
    </div></td></tr>
  <tr valign=bottom>
    <td colspan=2>
 <input alt=发送 name=send type=submit value="发 送">
 <input alt=取消 name=cancel type=reset value="重 填">
</td></tr>
</tbody></table>
</form>
</body>
</html>
 

2009年7月25日星期六

谷歌中国恢复搜索建议功能

  谷歌中国今日悄然恢复了网页搜索中的搜索建议功能。今年6月份,该功能因为被互联网违法和不良信息举报中心曝光存在隐晦色情和低俗信息而被暂停

  目前进入Google.cn网站,输入需要搜索的关键字,就可以出现搜索建议,不过输入“儿子”等关键词,搜索框提示“根据当地法规和政策,部分结果未予显示”。

  今年6月,中央电视台多档节目对谷歌存在隐晦色情和低俗信息进行了报道,国家有关部门宣布暂停谷歌中国境外网页搜索业务和联想词搜索业务,并责令其立即进行整改,此次恢复联想词功能可能意味着上述风波已结束。根据百度先前类似的解决情况,这次谷歌估计破费不少。

  Google的搜索建议(Google Suggest)功能,指的是用户只需在搜索框中键入内容,相关搜索字词的建议便会随之自动显示。每条建议的查询内容旁边的绿色数字则表示选择该查询会返回的大致结果数。

  Google上的搜索字词建议是由Google Suggest服务提供的。在用户键入内容时,Google Suggest会对Google服务器进行查询分析,从而为用户提供建议。Google Suggest提供建议时不会参考任何人的个人搜索,而是利用有关一般搜索相对使用程度的信息来对其建议进行排名。

  用户可以禁止“搜索建议”功能,具体的方法是,访问“Google 使用偏好”页面,找到“查询建议”部分,然后选择“搜索框中不提供查询建议”。

2009年7月24日星期五

报表工具的价值和发展浅析

  报表就是用表格、图表等格式来动态显示数据,在没有计算机以前,人们利用纸和笔来记录数据,比如:民间常常说的豆腐帐,就是卖豆腐的每天将自己的卖出的豆腐记在一个本子上,然后每月都要汇总算算。这种情况下,报表数据和报表格式是紧密结合在一起的,都在同一个本子上。数据也只能有一种几乎只有记帐的人才能理解的表现形式,且这种形式难于修改。

  当计算机出现之后,人们利用计算机处理数据和界面设计的功能来生成、展示报表。计算机上的报表的主要特点是数据动态化,格式多样化,并且实现报表数据和报表格式的完全分离,用户可以只修改数据,或者只修改格式。

  报表工具的核心价值

  报表工具的核心在于提高报表开发效率和后期维护性,提高客户满意度,减少项目成本。报表工具的最大价值在于学习成本低,让业务人员实现做报表,甚至构建快速系统。如果一个报表工具能让最终客户(业务人员)满意,最后一个企业或者单位所有信息系统都将采用同一个报表工具,应为没有必要每个信息系统用一个报表解决方案。

  目前中国报表工具如雨后春笋(这个通过观察在搜索引擎中做报表这个竞价排名公司就知道),除了一些专门做报表工具厂商之外,OA公司,工作流公司,填报系统公司都有报表模块,多少能解决一些报表问题。但是除了几家专业报表工具厂商之外,最终能够在报表市场占有一席之地公司就只有几家。这个主要是因为报表工具是一个专业工具,需要任何一家公司长期专注客户需求,不断提取客户需求并且创造出完美的解决方案。

  中国报表工具市场异常火爆原因是,是因为像水晶报表等国内报表工具厂商(如,水晶报表)水土不服,很难解决中国的一些报表需求。水晶报表,不能解决中国报表中最常见多数据源问题,要用子报表或者写负责视图来实现;在中国报表中,需要报表工具很容易像垂直一样实现横向动态布局,典型例子就是多层交叉报表,而水晶报表只能从上往下罗列数据库中数据。还有自定义分组,层级坐标等等问题使水晶报表没有办法适应中国市场。

  报表工具的发展

  报表工具厂商如何发展,如何能西方报表工具厂商共舞,如果抵御工作流,OA厂商的渗透。还需要很多探索。我这里献丑,晒一下我们认为几个方向:

  走报表平台路线,这种方向已经有已经上市的久其报表验证过。工具厂商可以依靠以往通过IT集成商间接服务过最终客户+快速开发平台来承接项目。

  专注报表工具,做一个能完全让最终用户做报表报表工具,让用户少做报表,更让容易做报表。具体做法是设计报表和行业报表设计器。

  水平发展工作流和权限,做一个能快速定制小型信息系统工具,抢占广大的信息化过程中的中小客户。这个方向有长尾理论作为理论支持。

  FineReport投稿,原文有删节

2009年7月22日星期三

诺基亚S60手机使用Gravity访问Twitter的方法

  Gravity是个很好用的基于诺基亚S60平台的Twitter软件,其界面和功能是同类产品中的佼佼者,不仅仅能访问更新Twitter,还支持基于开源微博客Laconica的系统,非常好用。

  在诺基亚S60手机上访问Twitter,和使用浏览器访问Twitter类似,一样需要编辑hosts文件,S60手机的hosts文件地址在C:Private10000882,对于S60V3来说,需要进行破解才能访问这个文件夹,这往往会带来一些安全上的隐患,其实,不修改hosts文件,从S60V3手机上也可以访问Twitter。

  诺基亚S60手机不修改hosts,使用Gravity访问Twitter的方法是:新建一个帐号,Add Account选identi.ca,用户名和密码都填Twitter的用户名和密码,在API Base URL内填nest.onedd.net/api,该地址是一个Twitter API proxy.然后使用这个帐号登录就可以直接在手机上访问Twitter了。

  这个方法使用了一个名为Birdnest的开源程序,Birdnest是一个Twitter的API代理,主要用于移动客户端,能够节省网络流量,在GPRS等网络环境下很有用,该开源程序的地址在这里,有国外主机空间的可以使用其源代码自己搭建一个。

  经过我的测试,使用这种方法,文字更新显示更新都没问题。另外,新版Gravity也已经支持全局API选项,可用Twitter账号登录使用,其使用效果会更佳。

SNS网站的盈利模式和用户黏附力的思考

  互联网的竞争比以前更加的激烈,无论任何领域,都是从一家成功,到数家模仿,再到蜂拥而上。同质化,是上帝对互联网企业永远有效的诅咒。

  web2.0的概念被炒的沸沸扬扬,各种创新,一经发布运营,立即有人抄袭。就说SNS,中国国内有几家不是抄袭Facebook和Myspace?但是一片喧哗之后,投资人,开始冷眼旁观这些SNS网站。这么多的SNS网站,靠什么挣钱呢?如何长久的粘住用户呢?

  谈到经营模式,我觉得腾讯是极有先知先觉的,腾讯是开拓者也是成功者。黄钻、蓝钻、游戏道具、虚拟形象等等,给用户增加娱乐体验的同时,打开了一扇通往财富宝库的大门。

SNS

  国内的SNS网站,我就尝试了两个:51和校内。这两个站点都在学习腾讯的经营模式,靠道具赚钱。换一个角度想,除了道具,就没有别的盈利渠道了吗?

  最容易想到的就是广告了,传统的做法是在页面的空白空间粘贴广告内容,SNS的出现,使得广告的精确投放得到更好的实现。SNS通过收集和分析用户的行为习惯,更容易感知用户的兴趣所在,投其所好投放广告顺理成章。广告的形式还是可以深度挖掘的。记得08年的时候,就有专家提出一种广告形式,比如在“抢车位”游戏中,每辆车都加上车标,为汽车品牌做广告。这类广告形式,我们可以称之为“嵌入式广告”。

  “嵌入式广告”得到了很好的应用,在校内网的“开心农场”最近就推出了“乐事薯片工厂”的活动:“农场”的“农民”可以种植特种土豆,来生产“乐事薯片”,可以获取游戏背景。而实际上,的确存在乐事薯片的。呵呵。相信这个广告的收入一定十分客观。

  关于增强网站的用户黏附力的问题,一直是困扰SNS网站经营者的大问题。大家都是SNS,大家都有开放平台,为什么用户会长期驻留在你的站点上?在这个问题上,我们仍然要向腾讯学习。腾讯是怎么黏附到用户的?人家发家的时候,国内还没几个IM软件,腾讯用QQ满足了大众需求,于是赢得了大批的用户。而用户之间存在着千丝万缕的联系,所以用户就像滚雪球一样激增。而后,用户的整个人际关系都在腾讯的这张网里面,你说,用户还走的了吗?

  所以,校内网一开始,先聚集的是校园关系,但是第一批用户毕业了,人际关系就扩展到整个社会,校内网就必须把人际范围扩大到整个社会。校内网的风格更像Facebook,但是比 Facebook更中国化,所以可以被各个年龄段的人接受。但是51就没有那么好的命运了。51的用户群集中在90后和二三线城市的中专及以下学历的人群,没有明显的校园关系模式,用户群很难蔓延到一线城市的中专以上学历的人群。因此,不仅人际关系是松散的,文化上亲近于低龄用户,而且用户群不具有扩散性。51的这张网只能网住一部分人,而且这些人的关系也是松散的,用户有一天觉得不好玩,就会离开,因此用户黏附力较差。

  补充一下,网站的用户黏附力,不是靠某个业务或者某个游戏的,你有什么业务,别人都可以抄袭,即使你跟某游戏提供商签订了排他性协议,游戏仍然是可以模仿的。所以用户黏附力不是体现在某些业务应用上的。而是要看有没有网住各个阶层和年龄段的用户,有没有把用户之间紧密的关系给描绘出来。SNS的核心在于第一个“S”,即social.

  作者:史鹏 投稿,作者QQ:458475398

2009年7月21日星期二

Google Moon谷歌月球地图发布

  2009年7月20日是阿波罗11号登陆月球40周年纪念日,1969年7月16日,阿姆斯特朗、巴兹·奥尔德林、迈克尔·柯林斯3名宇航员乘坐“阿波罗11号”升空,7月20日, 阿姆斯特朗和奥尔德林乘坐飞船登月舱成功在月球表面着陆,同伴柯林斯则驾驶指令舱在月球上空飞行。为了纪念人类登月40周年,Google宣布在其最新版本的“Google Earth(谷歌地球)”地图服务软件中添加了月球地图功能。

  Google Earth的月球地图功能,使用NASA六月份刚刚发射的月球探测器所拍摄的最新高清晰月球照片,不但详细介绍了最著名的阿波罗系列六个载人登月舱,还有美国、前苏联、欧盟、日本、印度的其它35个各种月球探测器,以及我国的嫦娥一号(撞击点).新软件提供了完整的月球地图、美国国家航空航天局提供的视频,并在照片模式中采用了全景成像技术。用户不仅可以探索火山口、陨石坑和人类登月点等自然和历史遗迹,还可选择照片模式,来一场虚拟的月球漫步。

Google Moon谷歌月球地图

谷歌月球地图

  下载安装Google Earth 5.0版(5.0.11733.9347)后,只需要在工具栏下拉菜单选择“月球”即可在月亮上漫步,点击地图上的相机图标可以进入照片模式。照片模式的全景图片清晰度非常高,可以让任何人都能欣赏月球美景,也可以通过NASA的视频来一次虚拟的月球漫步,不过该视频从国内访问速度非常慢,我这里播放视频断断续续,效果不太好。

Google Moon谷歌月球地图

月球地图的照片模式

  Google先前曾经推出过网页版本的Google月球Google火星Google天空,特别是Google Sky上的大量壮观宇宙照片,让Web浏览器用户也能体会到宇宙探索的乐趣。

  Google Earth下载地址:http://earth.google.com/

2009年7月20日星期一

Bing并未为微软广告业务带来显著的增长

  Bing无疑是一个潜力巨大的新搜索引擎,但是根据SearchIgnite本周星期四发布的报告,Bing并未为微软广告业务的市场份额带来显著的增长。值得一提的是,SearchIgnite为了统计这份报告的数据,对500多个使用Google,Yahoo,和Bing的企业和个人进行了跟踪调研,并一直跟踪调研到6月30日。

  根据SearchIgnite搜索引擎小组的统计报告,微软搜索引擎的广告收入在第二季度增长趋势持平(译者注:就是不怎么增长的意思),所占的市场份额仍然低于6%.这个数字和前几年的统计数字基本一样,没有太大变化。

  报告指出:微软最近的一举一动,无不在说明微软正在集中精力,摸清消费者的兴趣,用以增加搜索引擎的广告市场份额。但由于微软第二季度最重要的商业计划——“一次性收购雅虎”的失败,微软未能接收雅虎在搜索引擎市场所占的17%的市场份额。相反,在搜索引擎市场里占龙头地位的Google的市场份额却仍在不断增长中,至目前为止,竟占有了77%的市场份额。Bing的形势不太乐观。

Bing并未为微软广告业务带来显著的增长

  尽管微软对Bing投入了大量的精力,不过,微软暂时还指望不上Bing。因为SearchIgnite的搜索引擎研究小组自Bing在上个月正式发布开始,便开始对Bing的市场份额和广告收入进行跟踪调查,Bing目前还是入不敷出。但如果用户对Bing兴趣还是持续高涨的话,Bing的广告收入将会在第三季度得到增长。

  总的来说,在第二季度,搜索引擎的市场仍在蓬勃增长。SearchIgnite的报告指出:在第二季度,零售业在搜索引擎投入的广告费用比2008年的第二季度增长36%,仅是今年6月份投入的广告费用就比起上一年的6月份增长了55%.报告认为,零售业之所以在过去的几个季度里,在搜索引擎方面投入了巨额的资金,都是因为这几个季度内,零售商推出了很多促销活动并且都奉行薄利多销的政策。

Bing并未为微软广告业务带来显著的增长

  英文原文:Report:Bing adding little to Microsoft ad dollars so far

  中文翻译:占奇博客

2009年7月19日星期日

Wordpress数据库优化技巧

  WordPress系统使用时间长了,数据库中的冗余数据就会很多,定期优化和清理Wordpress的数据库,可以保证Wordpress能够快速工作。

  首先,停用一些无用的插件,将WordPress系统表之外的数据表都删除,只保留wp_posts, wp_comments, wp_terms, wp_term_relationships, wp_term_taxonomy 等系统数据表。

  其次,打开phpMyadmin,通过SQL语句进行冗余数据删除操作。删除前记得先备份一下。

  删除脚本是:

  DELETE FROM wp_posts WHERE post_type = 'revision';

  DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';

  DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

  最后,在phpMyAdmin中,选中所有表,点“优化表”。

  经过这一番优化操作,就可以将WordPress数据库中的冗余数据删除,优化了数据库的性能。

  以上操作,需要用户懂一些SQL语句,不要进行误操作,如果用户SQL比较熟的话,还可以看看这篇文章《八个有用的WordPress的SQL语句》。

2009年7月18日星期六

职业博客每天起床后的二十分钟

  职业博客每天早起后都做些什么事情呢?Problogger博客作者Darren Rowse分享他每天早晨起床后20分钟的安排,Bilin Pan将其翻译为中文,并投稿过来分享,以下是正文。

  我常把自己想象成早上到医院急诊室上班的大夫,首先要评估昨天夜里遗留的问题,区分出紧急、需要马上处理以及不那么紧迫三个等级,然后按轻重缓急有条不紊的进行处理。

  检查博客状态

  我在早晨的第一件事就是检查博客状态,虽然这好像有点自私,但我一直都是这么做的,因为这能让我及时发现各种问题或者机会。

  通常来说我特别关注博客流量明显的起伏变化。

  流量明显攀升可能由于博客文章登上Digg首页或Twitter上的热点链接。也可能是我的博客涉及到某个有争议的话题。无论是什么原因,我都需要及时了解真正的原因,一方面可以及时做出改善,另一方面也可以及时保持正面影响。流量出现下滑可能是服务器或者其他问题,例如博客设计错位,帖子不够吸引人,新闻列表没有及时更新等。

  分析完这些流量数据后我就会马上行动,对其他博客的言论进行回应、Twitter热点链接,增强扩散效应,修改网站的错误,检查服务器等。

  翻阅Twitter页面

  由于时差关系,我在澳大利亚进入梦乡的时候正是大多数博客读者的上网高峰期,因此我必须通过Twitter看看我睡觉时世界都发生了什么。通过Twitscoop我主要查看Twitter上的三个方面:直接发给我的信息,别人给我的答复以及热门话题。

  Twitter随时更新的话题、故事和新闻都可能和我博客相关,也经常有跟随者直接给我发信息分享故事。比如我的博客当机5分钟马上会有读者通过Twitter告诉我。

  然后我会寻找昨天晚上Twitter上被人反复讨论的有意思的话题,尤其是针对我博客的讨论。如果发现某些帖子被网友反复引用,那么我会继续挖掘这个话题,这也让我对后续话题的价值充满信心。

  如果很少有人关注,那可能就表示它还需要返工,或者读者根本就不喜欢这个话题。

  新闻快讯

  这是一个快速但非常重要的步骤,我在Google News和Blog搜索中订阅了很多新闻快讯,然后每天早上翻阅一下这些包括我名字、博客地址或者相关关键词的博客文章或者新闻。

  这对你选择博客话题很重要,因为这很容易引申出其他机会。虽然我不会马上做出反应,但在我进一步计划一天的工作时,我会考虑到这些新闻资讯。

  检查邮箱

  在我的收件箱里是不是有紧急事务等我马上处理呢?每天早上都有超过100封新邮件,处理这些邮件的确是个不小的挑战。同时还有500到700封垃圾邮件被Gmail给过滤掉了,在以前的文章里我曾提到过如何更快速的处理电子邮件。

  但暂时我不会马上回复这些邮件,我只挑选下重要的邮件,稍后再进行处理。

  检查RSS订阅中的A-list

  我用Google Reader作为我的RSS阅读器,在里面我新建了个A-List文件夹,里面订阅了每天必须看的20个博客和新闻站点,上面大多有和我博客主题相关的重要新闻话题。

  他们是新闻来源或者思潮领导者,我想第一时间了解他们的所说所写。我也经常从他们那里获知最新的产品、我关注的热门话题等。

  接下来……

  如果没有特殊情况,我每天大概会花15分钟处理完上面的事情,由于刚才只是简单的检查一下,并没有马上进行处理,除非有非常紧急的事情。

  做完这五件事之后,我会对一天的工作安排有个大致的脉络,多数情况下也想好了今天要写什么了。我倾向于成批的处理事务,这能让我顺畅的从一件事转到另一件事上,而不用把时间分成好几块。

  一旦确定了当天的计划(一般只花5分钟)我就马上着手行动。

  一个提示

  我在Firefox上甚至了一些书签,其中一个叫“start up”,包括我的所有统计软件包、TwitScoop、Google Reader、Gmail和一些相关的新闻站点。

  每天早上点击这个书签就能打开所有的站点,然后一天的工作就按部就班的进行了,我完全不用考虑下一步该干什么,所有的工作在等着我处理。当然我还是必须打开我的Twitter的客户端检查Twitter帐号(我目前主要是用的Tweetie)。除此之外,我只需要在完成一个工作后关闭书签,然后开始下一个。

  英文原文:Watch How I Spend My First 20 Minutes Online Every Morning
  中文翻译:bilin
  首发地址:http://www.wosoho.com/problogger-first-20-minutes-online/

2009年7月17日星期五

Google Chrome OS的战略部署和应用前景分析

  本文为占奇博客投稿的一篇翻译文章,英文原文作者Peter N. Glaskowsky是The Envisioneering Group的著名分析家,同时也是著名IT网站CNET的特约作家。Glaskowsky将会在本文中详细分析Google Chrome OS的战略部署和应用前景。

  基于Chrome浏览器的架构,Google推出了属于自己的操作系统——Chrome OS,Chrome OS主要面向低价的上网本。现在我将向亲爱的读者朋友解析一下Chrome OS的商业策略和商业前景。

  和所有的商业公司一样,Google也是想要赚更多的钱,这是一个公开的秘密。不过,Google盈利的方式和其他的软件公司却有很大的不同。举个例子, 微软,通常主要靠销售计算机软件(和少数硬件产品)来盈利。对于微软的盈利模式,我说两点。一是,微软用优秀的软件使计算机更有价值,所以购买者将用更多 的钱来购买微软的软件。二是,微软想要竭力提高软件销售收入在总收入里面的份额。

  Google对比与于微软,有什么不同呢?Google瞄准的不是用户的“钱”,而是用户的“时间”。Google将费尽心思增加用户呆在电脑前使用其产 品的时间。众所周知,Google主要靠展示广告盈利——在浏览器的一角里展示广告,等待用户查看这些广告使Google产生利润。尽管用户不会每时每刻 地去查看广告,但是Google的广告每时每刻都有被用户去查看的可能,为此,Google当然要费尽心思增加用户使用其产品的时间。Google数十亿 的收入说明了Google的这个策略是完全可行的。

  把Chrome浏览器变成Chrome操作系统,尽管在这过程中有大量的工作要做,但是这在技术上却是完全可行的。毕竟,一个优秀的浏览器已经包含了一个 操作系统的许多主要功能了:浏览器的API,可以使浏览器像其他应用程序一样接受用户的输出和输入,可以在磁盘上储存和读取数据,可以在Internet 上沟通等等。Firefox便是一个例子了(译者注)。我推测,Google将在这个基础上,在Chrome OS里,加入新的Driver Model(驱动程序模式)和其他在浏览器的范畴里没有东西的。并且,Chrome OS肯定会向现有的操作系统取经,甚者会原封不动地照搬Linux一大部分代码。开源的Linux有许多经典的代码,根本不需要Google来重新写代码 了。

  现有的操作系统,例如Windows,和Chrome OS相比,都支持更多编程语言和系统服务。但是Chrome OS的最大优点却是它更好地支持上网本。

  Google在乎的是用户时间,而不是用户的钱。Google 将会把微软掠夺用户金钱的方式用到掠夺用户的时间上。Chrome OS是否能成功令用户在电脑屏幕投入更多的时间呢?我认为,不会,这反而会得到相反的结果。因为大多数计算机软件都是运行都Windows,mac上的, 用户使用Chrome OS,这意味着用户的计算机将不能运行绝大部分的Windows游戏,苹果的iLife suite和其他受欢迎的软件。这反而会使得用户在电脑前呆的时间更少了。但对于Google来说,一旦用户使用了Chrome OS,显然易见地,用户使用Google产品的时间就会更多了。

  我认为Google的战略远不止于此,相信Google也是这样认为的。我猜测,Google还想把Chrome OS程序的运行环境集成到Chrome浏览器上,使得所有安装了Chrome浏览器的Linux,Mac和Windows系统都可以运行基于Chrome OS的应用程序。因为这项举措对Google至关重要,按照Google靠广告盈利的这个基本事实,Google是不会淡出在其他主流操作系统平台上的竞 争的,但是也因此使得一部分上网本厂商不会去选用Chrome OS,因为谁都可以运行基于Chrome OS的程序,还要Chrome OS干嘛?

  我认为,上网本并不是实施Google广告战略的理想平台。因为上网本的屏幕太小了,用户还要很不情愿地接受一个事实——Google的广告还要显示在这 个本来已经很小屏幕上。但Google的战略必须靠上网本来实施,因为Google暂时还没有足够实力把Chrome浏览器安装到主流的操作系统上,现在 IE和firefox已经占有半壁江山了(译者注)。

  我敢肯定,在2010年,一些安装了Chrome OS的上网本将会出现在市场上,届时我们将看到Chrome OS在市场上的表现。我猜测,Chrome  OS在市场上的表现会和Linux的表现一样——表现不好。但是还是会有很多的用户将会去尝鲜一下Chrome OS,因为Chrome OS毕竟还是一个新的操作系统,而且轻巧和低价。

  因为Chrome OS现阶段兼容性还很差,功能还不强大,安装Chrome OS的电脑比起其他主流操作系统来将会丧失很多的功能。用户现阶段去使用Chrome OS,很有可能就是图新鲜而已。如果谷歌不肯花上几年把Chrome 0S改进成一种有强大竞争力的产品的话,到时候绝大多数人将会把Chrome OS上网本退货处理,或者留给自己极不情愿用Chrome OS的小孩,又或者直接扔到书架上不闻不问,他们将不会再购买Chrome OS了。不过我相信,Google肯定会在Chrome OS上下狠功夫的,因为Google是一间实力宏厚的公司,并且这间公司了解操作系统潜在的无限商机,只是现阶段Google还没有完全准备好了而已。

  英文原文:Analyzing Google's Chrome OS strategy

  中文翻译:占奇博客

2009年7月16日星期四

Google Reader新增跟随、喜欢和用户搜索

  据Google Reader官方博客报道,英文版的Google阅读器进行了大量改版,增加了许多新功能,使其社会化特征得到增强,让Google Reader越来越像SNS网站了。

  新增加的功能目前仅限于英文版,如果用户想提前体验,可以在Google Reader中将语言修改为英文就可以看到。

  克隆Twitter?

  好友分享的名称从Friends's Shared Item变成了People you follow,从名字上向Twitter靠拢了,点进去看,里面更像Twitter,正上方一个录入框“Have some thoughts to share”和Twitter的“What are you doing”异曲同工,显示界面也很像,要是把录入信息限制为140个字,下面的内容增加上用户头像,Google Reader岂不变成了Twitter?

Google Reader新增跟随、喜欢和用户搜索

  另外,Google Reader的这次改版也改善了阅读器的共享功能,使读者能够简单而灵活的分享信息给他人。目前已经发布了四项改进功能,不仅能让用户更轻松地控制分享内容,还能帮助用户在Google阅读器中轻松地找到其他人的公开共享项目。

  搜索和跟随其他用户

  除了将用户的项目分享给他们以期待别人分享回来,现在用户可以在公众共享项目中搜索用户,并一键订阅他人的共享项目。使用最新推出的“用户搜索”功能 (由Google Profiles驱动)可以在公众共享项目里找人。在Google阅读器里就可以实现以按名称、地点或主题找到你想跟随的用户。

搜索和跟随其他用户

  朋友之间的分享

  分享功能得到了增强,可以将用户的分享项目按照群组方式分享,只分享给某个特定群组。如果用户这么选择,那就只有在某个指定群组的用户才能看到你的分享项目。如果用户使用Gmail,那么会发现这个群组分类和Gmail联系人里的设置是一样的。如果用户不选择分享给所有人,则别人可以发送请求去阅读。

朋友之间的分享

  设置界面的修改

  如果你想自己的读者访问你的Google个人资料,只需要简单一步就可以增加你的Google阅读器分享栏目到你的Google个人资料中。一旦你选中“添加一个链接到我的Google资料”,那么其他人就可以在你的Google资料中看到你的共享栏目。

  为了让人们更容易地找到你,你还可以自定义分享项目的URL地址为一个简单的地址(和Google Profiles的自定义类似),地址名必须使用Google用户名。

设置界面的修改

  增加“喜欢”功能

  用过Facebook和FriendFeed的用户不会对这个功能陌生,这是一个类似DIGG的功能,当你绝对一篇文章写的不错,你可以点“喜欢(Like)”让朋友知道,用快捷键小写字母L也可实现,和分享(Share)不同的是,喜欢(Like)是公开的,所有看到这个项目的人都会看到你,这也是推广自己或结识更多朋友的一个好方法。

增加“喜欢”功能

  “评论”功能的修改

  另一个修改在于评论功能,现在用户可以控制哪些用户可以在自己的共享项目增加评论,只有你设定的群组可以添加评论。

“评论”功能的修改

  目前这些功能只在英文版中实现,稍后可能会在其他语言中出现。

2009年7月15日星期三

四步使您的页面浏览量突破每天一千人次

  我从博客们中听到最多的一个抱怨是,不管多么努力,他们都无法获得每天 100 人次的页面浏览量。实际上,博客初期是最艰难的,因为您需要努力工作,但是努力未必会有成果。

  如果您处于这种状态,这个简单的战略肯定会让您的博客页面浏览量突破每天 1000 人次。实际上,就算您的博客突破了这个流量,这个战略对您获得更多的流量也还是有用的。

  您需要做的是确保按计划实施这 4 个步骤,并且每天花费两个半小时 —— 当然,如果您有更多的时间,可以适当增加每一个步骤的时间。

  第一步:杀手文章(每天一个小时)

  用一个小时进行头脑风暴、研究并写一篇杀手文章(也叫链接诱饵、顶梁柱等)。

  记住您的目标是每个礼拜发表一篇杀手文章。如果做不到,那就两个礼拜发表一篇。也就是每天花一个小时在同一篇文章上,换句话说,每一篇杀手文章需要花5 到 10 个小时。

  杀手文章就是一篇为潜在读者提供大量价值的长长的结构严谨的文章。比如,您有一个关于网络设计的博客,就可以写一篇 “可供设计师参考的 100 个免费资源”。以下是一些写杀手文章的技巧:

  1. 创建一个很长的资源清单;
  2. 写一个详细的教人如何做的教程;
  3. 发现您所在领域的一个普遍问题的解决方法并写出来;
  4. 就大家泛泛而谈的某个话题进行深入的分析。

  当您的读者看到这篇文章的时候,您希望他们有以下的反应:“哇,太好了!我最好把它加入书签,并且在博客和 Twitter 上分享给我的读者和朋友。”

  第二部:网络交际(每天 30 分钟)

  网络交际很重要,特别是在您刚开始写博客的时候。您每天需要花费在网络交际上的时间可以用来做以下事情:

  1. 在同行博客上留言;
  2. 链接到同行博客的文章;
  3. 通过 Email、IM 或者 Twitter 和同行博客交流

  记住您的目标是建立真正的友谊,所以不要为了以为他们会帮忙推广您的博客才接近其他博客。和其他博客接触是因为您尊重他们的劳动,并且认为你们可以一起成长。

  第三步:推广(每天 30 分钟)

  首先要做的是推广您的杀手文章。当杀手文章发表之后,您应该在尽可能多的地方提及它。例如:

  1. 让您所在圈子里的人知道(但是不要叫他们链接到您的文章);
  2. 让同行其他的站长和博客知道;
  3. 让您的朋友把您的文章提交到社会书签网站;
  4. 让您的朋友在 Twitter 上分享您的文章;
  5. 在线上论坛和(或)新闻组提及您的文章。

  如果时间还有剩,就把它们花在搜索引擎优化和社会媒体营销上,从整体上推广您的博客。范围包括从关键字研究到通过 Facebook 和客串文章进行推广。

  第四步:普通文章(每天 30 分钟)

  就像人不能单靠面包生存一样,博客也不能单靠杀手文章生存。普通文章是指那些您会在博客上经常发表的文章。例如,您可以每个礼拜一发表一篇杀手文章,而从礼拜二到礼拜五则发表普通文章。下面是一些关于写普通文章的技巧:

  1. 链接到其他博客上的某篇文章并发表您的意见;
  2. 发表一则关于您所在领域的新闻;
  3. 向您的读者提问并准备展开讨论;
  4. 分享一个对读者有用的新资源或者技巧。

  杀手文章对推广您的博客并获得新的读者很重要,而普通文章则会使您的内容多样化并且保持读者的参与热情。

  原文作者:Daniel Scocco
  英文原文:4 Steps to Increase Your Blog Traffic Beyond 1,000 Daily Page Views
  中文翻译:Young

2009年7月14日星期二

国外DNS服务器的域名劫持

  有人发现,使用国外的OpenDNS依旧无法解决部分域名被错误解析的问题,这个现象我在07年10月份也发现过,当时得出的结论是,即使用OpenDNS也不能完全解析出全部正确的域名,只能解析正确一部分,对于另一些域名(例如域名被加入关键字过滤)则无法正确解析。

  我估计的原因还是和入侵检测系统(IDS)有关,也就是说IDS监控了DNS的端口号(53),其工作原理应该和监控HTTP端口(80)类似,当IDS监控到该端口数据包中有某个关键字的时候,对于HTTP协议是发送一个RESET信号,让客户端浏览器“连接被重置”,而DNS解析不存在客户端浏览器问题,因此IDS可能伪造了一个假的DNS解析结果,替换掉原有的解析结果,从而使得OpenDNS等国外域名解析服务器也无法正确解析某些域名。

  这个问题的最根本原因,在于DNS的安全性没有得到足够的重视,使得DNS存在很多安全隐患,如果DNS通讯过程之中,使用了加密传输的方法,类似https那样,传输前加密,接收时解密,那么攻击和篡改DNS的难度就增大了很多,这样的DNS系统就较难再被劫持了。

  目前针对DNS劫持的解决方法并不太多,大概只能使用一份越来越大的本地hosts文件来应付了。

2009年7月13日星期一

提高内容类网站粘度的常见方法

  网站粘度,指的是用户对网站的重复使用度(依赖度、忠诚度),网站粘度越高,越能体现网站价值。众所周知,服务类(例如游戏、工具等)网站的粘度通常都非常高,而内容类网站(例如博客)的粘度就相对较低,我们知道,网站的运营推广可以获得外部流量,但如何降低其弹出率,提高独立用户每次访问页数,提高网站粘度,是一门很值得研究的问题,下面是我总结的一些内容类网站提高网站粘度的常见方法。

  1、内容建设

  “内容为王”一直是互联网行业奉行的不二法则,提供高质量的内容是产生用户“粘性”的最重要因素。如果一个网站能够长期提供独特而高质量的内容,则必然会吸引大量的读者来阅读和分享。

  不过,内容网站的建设最好是“自己的内容”,而不是“别人的内容”,一些聚合网站采用聚合别人的优秀内容来吸引读者,往往会引起版权上的争议。

  2、浏览体验

  提高访问者的浏览体验,而不是“吓跑”用户,也是提高粘度的重要方法,浏览体验首先是浏览速度的问题,主要有两个方面需要关注。

  首先是网站服务器的性能,如果访问量较大,网站不宜使用虚拟主机,如果有能力的话建议租用独立服务器来解决这个问题,例如我的月光博客网站采用托管电信机房的独立1U服务器,共享100M带宽(峰值5M),最大每天可以应付10万IP的访问量,这样的带宽通常访问速度就很快了。否则的话,如果用户发现几分钟都打不开一个页面,往往会关掉浏览器不再继续访问。

  其次是WEB服务器的性能优化,内容类网站最好使用生成静态HTML页面的方式处理,具有这种功能的CMS和博客非常多。在Windows服务器下,可以通过修改IIS配置来实现网站性能的优化,具体可以参照一下我的另一篇文章《IIS网站服务器性能优化指南》。

  3、网站结构和界面

  网站除了优化以外,UI设计(User Interface/用户界面)也非常关键,好的网站UI设计,会兼顾网站的美观,同时网站的结构也清晰,让用户能够快速找到信息。例如月光博客的所有页面顶部都有导航栏信息,每篇文章的底部都有“相关文章”栏目,这些设计都能够让用户更容易浏览和阅读。

  另外,用户的浏览体验也很重要,不要给用户太多搔扰,例如有些网站一打开就是弹窗,然后广告满天飞,这些都会降低用户的粘度,让用户不想继续浏览。

  4、增强交互性

  通常具有交互性服务的网站都有不错的粘度,内容类网站可以通过增加文章评论来提高交互性,除此以外,还要鼓励读者进行评论,很多博客都有一些第三方插件可以增强读者的评论体验,例如不注册即可评论(降低评论难度)、得到回复时邮件通知、给评论打分等等,都是不错和鼓励用户发表意见的方法。多和读者交流,对于保持长期稳定的流量有一定好处。

  5、推广RSS订阅方式

  通过全文RSS Feed输出的方法来推广内容类网站的RSS订阅方式,虽然读者通过阅读器订阅RSS,会减少内容类网站的实际浏览量,但对于增加网站粘度却具有重大意义,因为读者订阅之后,就可以在阅读器中长期的跟踪网站内容的更新,相当于一个长期的浏览者,在未来会带来持久的流量。

  以上就是我对提高内容类网站粘度的一些思考,希望能起到一些抛砖引玉的作用,如果你也有什么其他看法,欢迎给我留言反馈。

2009年7月12日星期日

加快Firefox 3.5启动速度的方法

  对比Google Chrome、IE来说,在Windows环境下,Firefox 3.5的启动速度非常慢,据说是因为Firefox 3.5从某些临时文件夹中抓取文件,用于计算随机数引起的,因此,用户可以将这些临时文件清除,用以加快Firefox启动速度。

  Firefox 3.5调用的临时文件很多,包括temporary目录、history目录和recent document目录,Firefox通过这些临时文件来增加随机数计算的随意性,但却意想不到的引来了启动速度过慢的性能问题。

  Firefox正在开发相应的补丁来解决这个问题,不过用户也可以手动方式来处理,就是删除相关的临时文件。

  临时文件的目录包括:

C:Documents and Settings*user*Local SettingsHistory
C:Documents and Settings*user*Local SettingsTemporary Internet Files
C:Documents and Settings*user*My Recent Documents
C:Documents and Settings*user*Temp

  用户也可以直接点“程序”-“附件”-“系统工具”-“磁盘清理”来删除临时文件。(via)

  经过这样的操作处理,可以看到Firefox 3.5的启动速度似乎有所加快,但是和Google Chrome、IE来比较,Firefox 3.5的启动速度依然是最慢的,Google Chrome的启动速度虽然非常快,但因为没有插件系统,因此这样比较不算特别公平。

2009年7月11日星期六

草根博客出名的另类方法

  新浪网推出的名人博客,利用新浪的门户优势带给名人巨大的网络效应,例如名人一篇博客,动辄吸引了成千上万的点击率和数百条的留言数量,从而扩大了传统媒体名人在网络上的话语权,但同时,也带来另一个独特的现象,就是骂名人出名的现象。

  中国号称有数千万人在写博客,大多数属于草根博客,能够出名的寥寥无几,既然新浪为名人提供了作秀场,草根博客也可以利用这个环境来达到自己推广的目的,提高草根博客的知名度和流量,具体的策略就是“骂名人”。

  骂名人是出名的捷径,骂人,就要骂有名的人,千万不要骂那些不出名的人,假如你骂一个无名的人,你越骂他他越得意,时常可以把一个无名小卒骂出名了。

  骂名人,最害怕他不理你,如果你骂半天没有任何回应,那就接近失败了,想让名人理你,也要有一定策略,例如和若干好友约定好,你先骂完,然后众多好友纷纷针对此文发表一些“杂感”,例如赞同或引申等等观点和看法,进行炒作,当炒作到了一定程度,引起对方的回应,就算骂成功了。

  不管你是否正确或错误,骂名人都是无名小辈在最短时间内获得知名度的最有效的方法,当然,骂人的前提是,你本身并不出名,而且是个无名小辈,否则效果可能恰恰相反。

  不过,不是每个人都擅长骂人的,如果没有骂人的天份,也可以采用较为柔和的方法来实现,例如小题大做的方法,先用诚恳而怀疑的态度引申名人说的一段话,由不紧要之点引到大题目上去,题目越大越好,用各种逻辑论证某某事情的必然性,以引发他人的注意。

  另外,谈论某名人的小道消息,指出某某名人最近一些不正常的表现的不为人知的原因是什么,从而得出另一个似是而非的结论,也是一种利用名人出名的方法。

  如果名人遇到我所说的骂客,对其回骂是下下策,不可取,建议参考一下我的一篇文章《中国博客的写作哲学》中介绍的“不争”,遇到这种冲突,不必回应、也不必解释,“宠辱不惊,褒贬由人”,就可以让那些通过骂人而成名的企图彻底落空。

2009年7月10日星期五

智能卡操作系统COS概述

   随着IC卡从简单的同步卡发展到异步卡,从简单的EPROM卡发展到内带微处理器的智能卡(又称CPU卡),对IC卡的各种要求越来越高。而卡本身所需要的各种管理工作也越来越复杂,因此就迫切地需要有一种工具来解决这一矛盾,而内部带有微处理器的智能卡的出现,使得这种工具的实现变成了现实。人们利用它内部的微处理器芯片,开发了应用于智能卡内部的各种各样的操作系统。COS的出现不仅大大地改善了智能卡的交互界面,使智能卡的管理变得容易;而且,更为重要的是使智能卡本身向着个人计算机化的方向迈出了一大步,为智能卡的发展开拓了极为广阔的前景。

  COS概述

  COS的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。

  首先,COS是一个专用系统而不是通用系统。即:一种COS一般都只能应用于特定的某种(或者是某些)智能卡,不同卡内的COS一般是不相同的。因为COS一般都是根据某种智能卡的特点及其应用范围而特定设计开发的,尽管它们在所实际完成的功能上可能大部分都遵循着同一个国际标准。其次,与那些常见的微机上的操作系统相比较而言,COS在本质上更加接近于临控程序、而不是一个通常所谓的真正意义上的操作系统,这一点至少在目前看来仍是如此。因为在当前阶段,COS所需要解决的主要还是对外部的命令如何进行处理、响应的问题,这其中一般并不涉及到共享、并发的管理及处理,而且就智能卡在目前的应用情况而盲,并发和共享的工作也确实是不需要曲。COS在设计时一般都是紧密结合智能卡内存储器分区的情况,按照国际标准(ISO/IEC7816系列标准)中所规定的一些功能进行设计、开发。但是由于目前智能卡的发展速度很快,而国际标准的制定周期相对比较长一些,因而造成了当前的智能卡国际标准还不太完善的情况,据此,许多厂家又各自都对自己开发的COS作了一引起扩充。

  就目前而言,还没有任何一家公司的COS产品能形成一种工业标准。因此本文将主要结合现有的(指l994年以前)国际标准,重点讲述COS的基本原理以及基本功能,在其中适当地列举它们在某些产品中的实现方式作为例子。

  COS的主要功能是控制智能卡同外界的信息交换,管理智能卡内的存储器并在卡内部完成各种命令的处理。其中,与外界进行信息交换是COS最基本的要求。在交换过程中,COS所遵循的信息交换协议目前包括两类:异步字符传输的T=0协议以及异步分组传输的T=l协议。这两种信息交换协议的具体内容和实现机制在IS0/IEC78l6-3和IS0/IEC7816-3A3标准中作了规定;而COS所应完成的管理和控制的基中功能则是在 ISO/IEC78l6-4标准中作出规定的。在该国际标准中,还对智能卡的数据结构以及COS的基本命令集作出了较为详细的说明。至于IS0/IEC78l6-l和2,则是对智能卡的物理参数、外形尺寸作了规定,它们与COS的关系不是很密切。

  COS的体系

  依赖于上一节中所描述的智能卡的硬件环境,可以设计出各种各样的COS。但是,所有的COS都必须能够解决至少三个问题,即:文件操作、鉴别与核实、安全机制。事实上,鉴别与核实和安全机制都属于智能卡的安全体系的范畴之中,所以,智能卡的COS中最重要的两方面就是文件与安全。但再具体地分析一下,则我们实际上可以把从读写设备(即接口设备IFD)发出命令到卡给出响应的一个完整过程划分为四个阶段,也可以说是四个功能模块:传送管理器(TM)、安全管理器(SM)、应用管理器(AM)和文件管理器(FM)。其中,传送管理器用于检查信息是否被正确地传送。这一部分主要和智能卡所采用的通信协议有关;安全管理器主要是对所传送的信息进行安全性的检查或处理,防止非法的窃听或侵入;应用管理器则用于判断所接收的命令执行的可能性;文件管理器通过核实命令的操作权限,最终完成对命令的处理。对于一个具体的COS命令而言,这四个阶段并不一定都是必须具备的,有些阶段可以省略,或者是并人另一阶段中;但一般来说,具备这四个阶段的COS是比较常见的。以下我们将按照这四个阶段对COS进行较为详细的论述。

  在这里需要提起注意的是,智能卡中的“文件”概念与我们通常所说的“文件”是有区别的。尽管智能卡中的文件内存储的也是数据单元或记录,但它们都是与智能卡的具体应用直接相关的。一般而言,一个具体的应用必然要对应于智能卡中的一个文件,因此,智能卡中的文件不存在通常所谓的文件共享的情况。而且,这种文件不仅在逻辑广必须是完整的,在物理组织上也都是连续的。此外,智能卡中的文件尽管也可以拥有文件名,但对文件的标识依靠的是与卡中文件—一对应的文件标识符,而不是文件名。因为智能卡中的文件名是允许重复的,它在本质上只是文件的一种助记符,并不能完全代表整个文件。

  传送管理(Transmission Manager)

  传送管理主要是依据智能卡所使用的信息传输协议,对由读写设备发出的命令进行接收。同时,把对命令的响应按照传输协汉的格式发送出去。由此可见,这一部分主要和智能卡具体使用的通信协议有关,而且,所采用的通信协议越复杂,这一部分实现起来也就越困难、越复杂。

  我们在前面提到过目前智能技术卡采用的住处传输协议一般是T=0协议和T=1协议,如果说这两类协议的COS在实现功能上有什么不同的话,主要就是在传送管理器的实现上有不同。不过,无论是采用T=0协议还T=1协议,智能卡在信息交换时使用的都是异步通信模式;而且由于智能卡的数据端口只有一个,此信息交换也只能采用半双工的方式,即在任一时刻,数据端口上最多只能有一方(智能卡或者读写设备)在发送数据。T=0、T=1协议的不同之处在于它们数据传输的单位和格式不一样,T=0协议以单字节的字符为基本单位,T=1协议则以有一定长度的数据块为传输的基本单位。

  如果传送管理器认为对命令的接收是正确的,那么,它一般是只将接收到的命令的信息部分传到下一功能模块,即安全管理器,而滤掉诸如起始位、停止位之类的附加信息。相应地,当传送管理器在向读写设备发送应答的时候,则应该对每个传送单位加上信息交换协议中所规定的各种必要的附属信息。

  安全体系(Security Structure)

  智能卡的安全体系是智能卡COS中一个极为重要的部分,它涉及到卡的鉴别与核实方式的选择,包括COS在对卡中文件进行访问时的权限控制机制,还关系到卡中信息的保密机制。可以认为,智能卡之所以能够迅速地发展并且流行起来.其中一个重要的原因就在于它能够通过COS的安全体系给用户提供一个较高的安全ttributes)和安全机制(SecurityMachinams) 。其中,安全状态是指智能卡在当前所处的一种状态,这种状态是在智能卡进行完复位应答或者是在它处理完某命令之后得到的。事实上,我们完全可以认为智能卡在整个工作过程中始终都是处在这样或是那样的一种状态之中,安全状态通常可以利用智能卡在当前已经满足条件的集合来表示。安全属性实际上是定义了执行某个命令所需要的…些条件,只有智能卡满足了这些条件,该命令才是可以执行的。因此,如果将智能卡当前所处的安全状态与某个操作的安全属性相比较,那么根据比较的结果就可以很容易地判断出一个命令在当前状态下是否是允许执行的,从而达到了安全控制的目的和安全状态与安全属性相联系的是安全机制。安全机制可以认为是安全状态实现转移所采用的转移方法和手段,通常包括:通行字鉴别,密码鉴别,数据鉴别及数据加密。一种安全状态经过上述的这些手段就可以转移到另一种状态,把这种状态与某个安全属性相比较,如果一致的话,就表明能够执行该属性对应的命令,这就是COS安全体系的基本工作原理。

  从上面对cos安全体系的工作原理的叙述中,我们可以看到,相对于安全属性和安全状态而言,安全机制的实现是安全体系中极为重要的一个方面。没有安全机制,cos就无法进行任何操作。而从上面对安全机制的介绍中,我们可以看到,coS的安全机制所实现的就是如下三个功能:鉴别与核实,数据加密与解密,文件访问的安全控制。因此,我们将在下面对它们分别进行介绍。其中,关于文件访问的安全控制,由于它与文件管理器的联系十分紧密,因此我们把它放到文件系统中加以讨论。

  鉴别与核实:鉴别与核实其实是两个不同的概念,但是由于它们二者在所实现的功能上十分地相似,所以我们同时对它们进行讨论,这样也有利于在比较中掌握这两个概念。

  通常所谓的鉴别(Authentication)指的是对智能卡(或者是读写设备)的合法性的验证,即是如何判定一张智能卡(或读写设备)不是伪造的卡(或读写设备)的问题;而核实(verlfy)是指对智能卡的持有者的合法性的验证,也就是如何判定一个持卡人是经过了合法的授权的问题。由此可见,二者实质都是对合法性的一种验证,就其所完成的功能而言是十分类似的。但是,在具体的实现方式上,由于二者所要验证的对象的不同,所采用的手段也就不尽相同了。具体而言,在实现原理上,核实是通过由用户向智能卡出示仅有他本人才知道的通行字,并由智能卡对该通行字的正确性进行判断来达到验证的目的的。在通行字的传送过程中,有时为了保证不被人窃听还可以对要传送的信息进行加密/解密运算,这一过程通常也称为通行字鉴别。

  鉴别则是通过智能卡和读写设备双方同时对任意一个相同的随机数进行某种相同的加密运算(目前常用DES算法),然后判断双方运算结果的一致性来达到验证的目的。根据所鉴别的对象的不同,COS又把鉴别分为内部鉴别(Internal Authentlcation)和外部鉴别(EXternal Authentication)两类。这里所说的"内部"、"外部"均以智能卡作为参照点,因此,内部鉴别就是读写设备对智能卡的合法性进行的验证;外部签别就是智能卡对读写设备的合法性进行的验证。

  智能卡通过鉴别与核实的方法可以有效地防止伪卡的使用,防止非法用户的入侵,但还无法防止在信息交换过程中可能发生的窃听。因此,在卡与读写设备的通信过程中对重要的数据进行加密就作为反窃听的有效手段提了出来。我们下面仅对加密中的一个重要部件密码在COS中的管理及存储原理加以说明。

  密码管理:目前智能卡中常用的数据加密算法是DES算法。采用DES算法的原因是因为该算法已被证明是一个十分成功的加密算法,而且算法的运算复杂度相对而言也较小,比较适用于智能卡这样运算能力不是很强的情况。 DES算法的密码(或称密钥)长度是64位的。COS把数据加密时要用到的密码组织在一起,以文件的形式储存起来,称为密码文件。最简单的密码文件就是长度为8个字节的记录的集合,其中的每个记录对应着一个DES密码;较为复杂的密码文件的记录中则可能还包含着该记录所对应的密码的各种属性和为了保证每个记录的完整性而附加的校验和信息。其中的记录头部分存储的就是密码的属性信息,例如是可以应用于所有应用文件的密码还是只对应某-应用文件可用的密码;是可以修改的还是只能读取的密码等等。但是,不论是什么样的密码文件,作为一个文件本身,COS都是通过对文件访问的安全控制机制来保证密码文件的安全性的。

  当需要进行数据加密运算时,COS就从密码文件中选取密码加入运算。从密码文件中读出密码时,与读取应用数据一样,只要直接给出密码所在的地址就可以了。当然,最简单的产生密码的方法是直接从密码文件中随机读出一个密码作为加密用密码。但是这样的机制可能会多次选中同一密码,从而给窃听者提供破译的机会,安全性不太高。因此,比较好的办法是在随机抽取出一个密码后再对密码本身作一些处理,尽量减少其重复出现的机会。

  例如PCOS产品中,采用的办法就是对从密码文件中选出的密码首先进行一次DES加密运算,然后将运算结果作为数据加密的密码使用。其计算公式如下:Key=DES(CTC,K(a))式中,K是从密码文件中随机选取的一个密码;CTC是一个记录智能卡的交易次数的计数器,该计数器每完成一次交易就增一;key就是最后要提供给数据加密运算使用的密码。使用这种方法可以提高智能卡的安全性,但却降低了执行的效率。因此,具体采用什么样的方法来产生密码应当根据智能卡的应用范围及安全性要求的高低而具体决定。

  应用管理器(AppIication Manager)

  应用管理器的主要任务在于对智能卡接收的命令的可执行性进行判断。关于如何判断一条命令的可执行性,我们已经在安全体系一节中作了说明,所以我们可以认为,应用管理器的实现主要是智能卡应用软件的安全机制的实现问题。而因为智能卡的各个应用都以文件的形式存在,所以应用管理器的本质就是我们将要在下一节加以讨论的文件访问的安全控制问题。正是基于这一点,我们也可以把应用管理器看作是文件管理器的一个部分。

  文件管理器(File Manager)

  与安全一样,文件也是COS中的一个极为重要的概念。所谓文件,是指关于数据单元或卡中记录的有组织的集合。COS通过给每种应用建立一个对应文件的方法来实现它对各个应用的存储及管理。因此,COS的应用文件中存储的都是与应用程序有关的各种数据或记录。此外,对某些智能卡的COS,可能还包含有对应用文件进行控制的应用控制文件。在CoS中,所有的文件都有一个唯一的文件标识符(Filel Identifier),因此通过文件标识符就可以直接查找所需的文件。此外,每个文件还可以有一个文件名作为助记符,它与文件标识符的不同之处在于它是可以重复的。CoS中的各文件在智能卡的个人化过程中由发行商(Is suer)根据卡的应用而创建,对卡的用户而言通常是不能对文件进行创建或删除的。但是用户可以根据情况对文件内容进行修改,可以对文件中的记录或数据单元进行增加、删除等操作。

  (1) 文件系统:COS的文件按照其所处的逻辑层次可以分为三类; 主文件(Master File),专用文件(Dedicated File) 以及基本文件(Elementary File)。其中,主文件对任何COS都是必不可少的,它是包含有文件控制信息及可分配存储区的唯一文件,其作用相当于是CoS文件系统的根文件,处于COS文件系统的最高层;基本文件也是必不可少的一个部分,它是实际用来存储应用的数据单元或记录的文件,处于文件系统的最底层,而专用文件是可选的,它存储的主要是文件的控制信息、文件的位置、大小等数据信息。我们可以用下图的树状结构来形象地描述一个COS的文件系统的基本结构。

  当然,对于具体的某个COS产品,很可能由于应用的不同,对文件的实际分类表示会有所不同。但只要仔细地进行分析,都可以归结为上面的三个逻辑层次。例如前面提到过的PCOS产品。它对文件的分类不是按照逻辑层次划分的,而是根据文件的用途进行的。它的文件分为三类: COS文件(COS File)、密码文件(Key File)和钱包文件(Purses File)。其中所谓的COS文件保存有基本的应用数据;密码文件存储的是进行数据加密时要用到的密码;钱包文件的作用有些类似 于我们日常生活中的钱包。由此可见,它的这三类文件本质上又都介于基本文件(EF)类。在PCOS中,专用文件的概念不是很明显,但是事实上,如果大家留心的话,那么从以前的论述中,应该不难发现该产品存储器分区中FAT区内的文件的作用就类似于专用文件;而整张PCOS卡本身的性质实际就是一个主文件。COS文件有四种逻辑结构:透明结构,线性定长结构,线性变长结构,定长循环结构。它们的定义及特点可以参阅ISO/IEC78l 6-4协议中的有关部分,这里不再详述。不过无论采取的是什么样的逻辑结构,COS中的文件在 智能卡的存储器中都是物理上连续存放的。卡中数据的存取方式、记录的编号方法、数据单元的大小等作为文件系统的特征,在智能卡的复位应答过程中由卡给出。

  一般而言,在智能卡中最为重要的数据存取方式还是随机存取方式,也就是卡的用户在得到授权后,可以直接地任意访问文件中的某个数据单元或记录。至于COS具体对文件可以进行什么样的操作.我们将在cos的命令系统中进行讨论。

  (2) 文件访问安全:对文件访问的安全性控制是cos系统中的一个十分重要的部分,由于目前的国际标准(1S0/IEC78l 6-4)在这方面基本没有作出什么实质性的规定,因此,现有的文件访问的安全控制机制的具体实现方式多种多样。我们在这里准备介绍其中比较有代表性的两种实现方式:鉴别寄存器方式以及状态机方式。其中,采用鉴别寄存器方式的有PCOS、ME2000等产品:采用状态机方式的产品有STARCOS。采用鉴别寄存器方式时,通常是在内存RAM中设置一个8位(或者是16位)长的区域作为鉴别用寄存器。这里的鉴别是指对安全控制密码的鉴别。鉴别用寄存器所反映的是智能卡在当前所处的安全状态。采用这种方式时,智能卡的每个文件的文件头(或者是文件描述器)中通常都存储有该文件能够被访问的条件,一般是包括读、写两个条件,分别用cr、cu表示这就构成了该文件的安全属性。而用户通过向智能卡输入安全密码.就可以改变卡的安全状态,这一过程我们通常称为出示,这就是鉴别寄存器为主的安全机制。把上面的两方面结合起来,就能够对卡中文件的读写权限加以控制了。具体的操作机制我们以PCOS为例加以描述。

  首先,PCOS中的鉴别寄存器是8位字长的,这8位字长的各位分别与PCOS存储器中保密字区内的7个安全密码的序号一一对应。寄存器中每一位的初始值都被置为"o"。如果用户向智能卡出示了某一个安全密码,并且被判断为正确的话,系统就在鉴别寄存器的相应位上写入"l"。例如,如果处于保密字区中的第2个安全密码被用户正确出示的话,PCoS就在寄存器的第2位上写"l"。同时,文件描述器中的读、写条件Cr、Cu保存的都是在o和7之间的一个数,它的值对应于该文件进行读(或写)操作时所需要出示的密码在保密字区小的序号。在对某个文件进行读(或写)操作之前,系统首先判断在鉴别寄存器内对应的第Cr(或Cu)位是否己被置为"l" (如果Cr等于O,就表示该文件可以被用户随意读取;对于Cu也是一样),只有当该位为"l"时,才表示读(或写)权限已经得到满足.才能对该文件进行读(或写)操作。这也就是说,如果用户想要对一个件进行操作的话,就必须要首先出示对应于该文件的安全属性为正确的安全密码。系统据此就达到了对文件的访问进行安全控制的目的。与鉴别寄存器方式完全不一样,状态机方式更加明显地表示出安全状态、安全属性以及安全机制的概念以及它们之间的关系(关于状态机的知识不属于本文章的范畴,有兴趣的读者请自行查阅有关资料)。以STARCoS为例,它采用的是一种确定状态机的机制,该机制通过系统内的应用控制文件(Application Control File,ACF)而得以实现。ACF是一个线性变长结构的文件,其rh记录0l包括了该ACP所控制的应用可以允许的所有命令的指令码 (INS);其余的记录分别与记录ol中的指令码一一对应,其中存储的都是对应命令的变体(Varient)记录。所谓变体记录指的是这样的一些记录:记录中存储的是控制信息、初始状态、可能的下一状态以及某些附加的指令信息的组合,利用ACF中的这些变体记录就可以形成状态转移图。在变体记录中,控制信息部分是必不可少的。不同的变体记录主要在两个方面有区别:一是命令所允许的状态不同,二是以CLA字节开始的指令信息部分不相同。这主要是由命令要操作的应用的对象不同而决定的。

  利用ACF,COS系统就可以实现对文件访问的安全控制了。当系统接收到一个应用进行操作的一条命令后,首先检验其指令码是否在相应的ACF文件的记录01中。如果不在其中,系统就认为该命令是错误的。在找到了对应的指令码后,系统把命令的其余部分与该命令对应的备变体记录中的指令信息按照该变体记录的控制信息的要求进行比较,如果比较结果一致,那么再查验变体记录中的初始状态信息。若所有这些检测都顺利通过,那么系统就进入对应变体记录中指明的下一状态;否则,继续查找下一个变体记录直到发现相应变体或是查完该命令对应的所有变体记录为止。如果没有找到相应的变体记录,说明该命令是非法的;否则就进入下一步对命令的处理,即由COS调用实际的处理过程执行对命令的处理。并且仅当处理过程正常结束的时候,系统才进入一个新的状态,并开始等待对下一条命令的接收。

  摘自《金卡工程》2003年第2期

2009年7月9日星期四

AdSense公司对个人的支票托收方法

  通常来说,Google AdSense的支付方式有支票和西联两种,支票支付的话,可以在银行使用支票托收方式收取美元,具体方法参见这里。不过在中国使用支票托收有时会出现一些特殊的情况。

  例如,在深圳的一些银行,例如工行和中行,可以直接托收该支票,但是在招行托收的话,银行会要用户提供劳务合同等凭证才能托收,因为这是公司对个人的支票,国家有一些规定,对于Google AdSense用户来说,这个劳务合同从哪里找呢?

  其实很简单,打开这个网址,将其内容打印出来,然后再后面签名,将打印件交给银行即可,这就是银行需要用户提供的劳务合同等凭证。

  此方法在深圳招行测试可行,如果大家托收AdSense支票也越到类似问题,可以按照这个方法试试。

2009年7月8日星期三

Google宣布将推出电脑操作系统

  Google今天在官方博客宣布,将推出基于Chrome浏览器的电脑操作系统:Google Chrome OS,直接与微软展开竞争。

  Google Chrome操作系统是一个开放源代码的、精巧的操作系统,它最初会针对上网本。在今年晚些时候,Google将开放它的源代码。

  快速、简便和安全是Google Chrome操作系统的核心特质,Google会将该操作系统设计得更快速更精巧,数秒间即可启动并将用户带入互联网世界,大多数的用户体验则将发生于网络之上。

  Google Chrome操作系统可运行于x86和ARM芯片,Google Chrome运行于一个新的基于Linux核心的窗口系统,其软件架构十分简单。对应用开发者们来说,网络即是平台。所有的互联网应用都将自动运行,当然,这些应用不仅可以运行于Google Chrome操作系统,也可以运行于Windows、Mac和Linux上的任何标准浏览器,从而令开发者拥有任何平台上的最大用户基数。

  这个操作系统和Android手机操作系统并没有关系,估计将是一个由Linux改写的开源轻量级操作系统。

2009年7月7日星期二

国内ASP开源建站系统一览

  使用ASP做网站虽然有点落伍,但在中国还是有很大市场的,因为大部分国内用户使用Windows Server服务器,在Windows Server的IIS环境下,ASP+SQLServer的性能丝毫不逊于PHP+MySQL,可惜ASP不支持跨平台,不支持Apache,因此发展受到了很大限制。在开源项目上,国内的ASP开源项目也没有PHP的多,不过也有一些,下面是我总结的一些基于ASP的建站开源系统。

  论坛:DVBBS

  动网论坛曾经是国内很流行的论坛,不过后来逐步衰落,在大用户量访问下,其性能不如Discuz和PHPWind。

  博客平台:Z-BLOG

  Z-Blog是一套基于ASP平台的开放、高效、健壮、实用的Blog发布程序,可以生成静态文件、高度可制定化模板、WAP访问、支持第三方编辑器、可定义静态文件名称、统一权限控制、站内全文搜索等功能。

  博客平台:PJBlog

  PJBlog是另一个ASP博客系统,主要功能包括有:支持静态化文件,文章编辑器兼容两种编辑方式,支持自定义面板和CSS,,自定义模块,可以修改页面上的的布局,可以更换CSS样式界面等。

  多用户博客:Oblog

  oBlog多用户博客程序是目前国内应用较广的ASP博客程序,可用于BSP服务,分免费版和商业版等不同版本,可实现日志的HTML静态化。

  CMS:KingCMS

  KingCMS是一套简单易学,操作简单的开源内容管理系统(CMS),KingCMS分为PHP+MySQL和ASP+MSSQL/ACCESS两种语言版本的系统。

  CMS:新云

  新云好像是从一个很老的ASP程序—惊云修改而成的,主要用于做软件下载站,可以实现静态化HTML页面。

  上面就是我总结的一些基于ASP的建站开源系统,如果你还知道有什么好的ASP开源系统被遗漏了,请留言补充。

2009年7月6日星期一

国内PHP开源建站程序一览

  国外的开源技术也影响和推动了国内开源程序的发展,上文我介绍的《国外优秀开源PHP建站程序一览》中,很多国外开源程序并不太符合中国人的使用习惯,而国内有一些厂家或个人也做了一些不错的产品,不少程序是提供源代码下载的,虽然有些在许可协议上和开源许可证有些出入,但其在使用上还是挺符合中国人的使用习惯,今天我就介绍一些国内的PHP“开源”建站程序。

  论坛:Discuz

  Discuz非常流行,也是中国地区最多用户使用的论坛程序,论坛搭建非常简单易用,使用风格符合中国人的口味。另一个流行的论坛程序是PHPWind

  SNS:Ucenter Home

  UCenter Home是采用PHP+MySQL构建的社会化网络软件(Social Network Software,简称SNS)。 通过 UCenter Home,建站者可以轻松构建一个以好友关系为核心的交流网络,用户可以使用迷你博客记录;方便快捷地发布日志、上传图片;与其好友们一起分享信息、讨论话题;了解好友最新动态。

  E-Commerce:ECSHOP

  ECSHOP是一款开源免费的网上商店系统,用户可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。另一个流行的网上商城系统是shopex

  点评:Modoer

  Modoer一款PHP点评系统,可针对多种行业进行点评,可以自由调控点评项目,类型,采用Web 2.0的建站方式,网站会员能让快速上手。

  Digg:PBDigg

  PBDigg是基于PHP+MYSQL的开源Digg社区资讯系统,融合了社会性标签、主题评论、Rss订阅等多种WEB2.0元素,是一个高效、快速的网站解决方案。

  Wiki:HDWiki

  HDWiki是专为中文用户设计和开发的开源、高效的中文百科建站解决方案,免费、易用、功能强大,和UCenter可无缝整合。

  RSS:IXNA

  IXNA是国内开源PHP新闻聚合程序,支持RSS多核心切换,默认支持lastrss、simplepie、magpierss,支持RDF、RSS、ATOM,支持智能识别。

  CMS:关于CMS的PHP产品很多,这里主要介绍下面三个。

  SupeSite

  SupeSite 是一套独立的内容管理系统(CMS),并且拥有对Discuz!论坛信息和UCenter Home个人空间信息聚合的功能,是一个不错的社区门户解决方案。

  DedeCMS

  DedeCMS是一个比较老的PHP CMS系统,很多早期的用户都是使用这个建立网站的。

  KingCMS

  KingCMS是一套简单易学,操作简单的开源内容管理系统(CMS),KingCMS分为PHP+MySQL和ASP+MSSQL/ACCESS两种语言版本的系统。

  最后是一次快讯,Twitter又无法访问了,估计XJ那里完事后可能会恢复,现在的解决方法在这里

2009年7月5日星期日

国外优秀开源PHP建站程序一览

  大量的PHP开源(开放源代码/Open Source)应用改变了这个世界,改变了互联网,以下我们总结从数据库到购物、博客等众多类型的开源PHP软件,供网站开发者们参考。

  博客:WordPress

  WordPress是使用PHP开发的著名博客平台,免费开源,功能强大,不仅仅用于博客搭建,还可以广泛应用于各类网络信息发布平台。

  论坛:phpBB

  phpBB是一种广泛流行的开源论坛软件,具有易于使用的管理面板和友好的用户安装界面,可以轻松地在数分钟内建立起一个论坛,功能上具有很高的可配置性,能够完全定制出相当个性化的论坛。

  CMS:Drupal

  Drupal是一个开源的内容管理系统(CMS)平台,拥有强大并可自由配置的功能,能支持从个人博客到大型社区驱动的网站等各种不同应用的网站项目。

  Wiki:MediaWiki

  MediaWiki是PHP语言写成开源Wiki引擎,全世界最大的Wiki项目维基百科就是使用MediaWiki引擎。

  Digg:Pligg

  Pligg是一套灵活的类似Digg的Web2.0 CMS系统,系统使用PHP开发,模仿了国外流行的DIGG系统。

  图像:Gallery

  Gallery 是一个非常有名的免费开源图库相册软件,基于 PHP 和 MySQL, PostgreSQL 等数据库。功能非常强大,有丰富的扩展可以下载,安装很简单,有很多插件可用。

  RSS:Gregarius

  Gregarius是一个RSS聚合程序,免费开源,具备不错的用户体验,易于操作和管理。可以把其当成RSS阅读器使用。

  电子商务:osCommerce

  osCommerce是一套由自由软件开发社团开发并维护的在线商店的解决方案,免费开源,并可以应用到任何的商业环境中,可以在短时间内生成一个功能强大的电子商务网站。

  广告:OpenX

  OpenX(原名phpAdsNew)是一个用PHP开发的广告管理与跟踪系统,适合各类网站使用,能够管理每个广告主拥有的多种任何尺寸横幅广告,按天查看,详细和概要统计并通过电子邮件发送报表给广告主。

  微博客:Laconica

  Laconica是一个开源的微型博客系统,也是一个Twitter克隆,可以实现Microblog的常用功能,国外不少微博客系统都是通过这个开源系统架设的。

  英文原文:Top Ten Open Source PHP Apps

2009年7月4日星期六

最新屏蔽百度快照的方法

  有时候,因为内容的更改或者隐私问题,我们往往不希望别人通过“百度快照”的方法查看自己网站的某一些网页,对于网站管理员来说,百度快照也分流了大量本属于网站的流量,为了增加网站的流量或者增强内容隐私,我以前曾经提供过一段将百度快照重定向到自己网站的方法。不过后来百度改变的快照算法,不从远端服务器获取JavaScript文件,因此先前介绍的那个屏蔽方法目前已经失效。

  现在我介绍一个新方法,原理也是大致相同,我们知道目前百度网页快照虽然不从远端服务器抓取JavaScript文件,还是依旧会从远端服务器抓起CSS文件,而通过一个技巧可以在CSS文件中实现网页重定向,从而控制百度快照中的网页,完全由我们控制该快照重定向到我们制定的任何网页地址。

  例如,如果百度快照中缓存的文件为style.css,那么我们在服务器上编辑这个文件,在CSS文件中加入以下语句,即可控制百度缓存快照重定向,从而实现屏蔽百度网页快照内容的功能。

body {onload:expression(location.href='http://www.williamlong.info/');}

  以上语句在IE浏览器下测试通过。理论上,根据这个方法,我们可以控制百度网页快照的内容重定向到任何一个我们指定的网址,甚至是第三方网站。为了实现网页的正常显示,百度快照屏蔽CSS的可能性会非常小。

  这个方法也可用于屏蔽Google等其他搜索引擎的网页快照。

2009年7月3日星期五

Z-Blog垃圾留言判定新方法

  现在的垃圾留言越来越智能,并且从留言内容几乎看不出来是垃圾留言,而大量的垃圾留言会导致文章可读性下降,并可能会被搜索引擎惩罚,经过一段时间的分析和思考,我发现一种判定垃圾留言的新方法,可以从一定程度提高垃圾留言的识别率。

  这种新方法是基于对留言者姓名的过滤,为了实现垃圾留言的功效,这类留言者的姓名通常具有一定的规律,比如姓名为“起重机”、“虚拟主机”、“代开发票”等用户的留言,几乎百分之百为垃圾留言,通过总结这类姓名的特点,并对其进行过滤,就可以提高识别垃圾留言的准确率。

  将下面几行代码加入到月光Z-Blog反垃圾留言过滤插件的Antispam_chkComment函数中,就可以实现增强型的垃圾留言识别,对于有垃圾留言倾向的评论,会自动转到留言审核界面,审核完成后留言才会显示。其中strFilter中是我总结的一些常见的垃圾留言特征字符串。

 Dim i
 Dim strAuthor
 Dim strFilter
 Dim strFilterWord
 strFilterWord= "电影,影院,影视,魔兽,英语,网站,电脑,地图,租房,论坛,营销,社区,nba,qq,seo,在线,赚钱,手机,聊天,兼职"
 strAuthor = objComment.Author
 strFilter = Split(strFilterWord, ",")
 For i = 0 To UBound(strFilter)
  If InStr (strAuthor, strFilter(i)) > 0 Then
   objComment.log_ID=-1-objComment.log_ID
   If objComment.Post Then
   End if
   If IsEmpty(Request.Form("inpAjax"))=False Then
    objComment.Content="您的评论因被怀疑为 Spam 而进入审核过程,请勿再次提交。"
    Call ReturnAjaxComment(objComment)
    Response.End
   End If
   Call ExitError("您的评论因被怀疑为 Spam 而进入审核过程,请勿再次提交。")
  End If
 Next

  另外,使用一些SQL语句也可查询出疑似留言,具体使用方法是,使用Access打开MDB数据库,点击数据库窗口左侧的查询,然后点新建,选择向导或设计视图,然后再视图菜单中选择“SQL视图”,就可以执行自己写好的SQL语句,下面是一些常用的SQL语句。


  按数量查看留言者留言频率

select comm_homepage,count(*) from blog_Comment group by comm_homepage having count(*)>10 order by count(*) desc

  留言网站你地址为单个网页的留言(通常只有SEO会这么干)

select * from blog_Comment where comm_homepage like '*.htm*'

  留言内容包含UBB的链接

select * from blog_Comment where comm_content like '*url*'

2009年7月1日星期三

Google Insights数据错误的证据

  终于找到了Google Insights数据错误的证据了,匿名用户曾经在Google Docs上指控,使用Google Insights工具可以发现有人在6月18日新闻联播节目前在北京地区刷关键字,导致Google“搜索建议”出现不雅词汇,现在,这个指控中最大的漏洞已经被发现,从而使得这个指控出现完全自相矛盾的地方,难以自圆其说。

  发现这个漏洞的工具依旧是Google Insights,匿名用户使用Google Insights在全球范围内搜索一些和“儿子”相关的不雅词汇,例如“儿子与情人”,得到的截图如下所示。 这张截图中显示,从10号开始到17号,有人在刷这个关键词,匿名用户指控刷这些关键词的来源地址是北京。但仔细看一下,我们会发现该曲线呈现“线性”增长和下降的趋势,并且在6月18号央视新闻之后搜索量不升反降,虽然这显然违背常理,我们姑且认为这是正确的。

搜索“儿子与情人”

Google Insights搜索“儿子与情人”(全球范围)

  接着,我们使用Google Insights再次搜索这个关键词,如“儿子与情人”,但把搜索区域限制在北京地区,就会得到下面这个曲线。

搜索“儿子与情人”

Google Insights搜索“儿子与情人”(北京地区)

  我们看到,这个单独在北京地区的Google Insights搜索曲线,和全球范围Google Insights搜索“儿子与情人”的数据有极大出入,北京地区的Google Insights数据呈现完整的曲线,6月17日以前的数据为0,6月18日出现大幅增长,并达到顶峰,与Google Trends的搜索曲线基本相同,北京拥有大量网络用户,并曾被匿名用户指责刷数据,但Google Insights这两个曲线,却明白无误的表明,这个指控呈现明显的自相矛盾,根本无法自圆其说,很明显,Google Insights对于该关键字搜索的全球数据真实性存在极大的疑问。

  这里面的真相到底是什么,恐怕也会成为一个不解之谜。