2012年6月30日星期六

服务器托管全程完全纪实

这是唐华写的一篇文章,我个人不赞同他说的选择AMD系列做服务器,目前做服务器的CPU和主板我觉得还是用Intel的成熟稳定一些。

服务器托管全程完全纪实

作者:唐华

回首看看,2004年是宽带汹涌发展的一年,也是互联网蓬勃发展的一年,因为网速瓶颈的逐渐打破,许多原本经营困难的互联网业务终于等到盈利的一天,不少网站的经营者在这一年抓住机会赚得钵满盆满,看着那么多兄弟靠着一台服务器发了起来,老唐也有点忍不住了,教别人装了那么多服务器,今天也自己装一台,托管了去,做什么呢?都想好了,暂时赶时髦,先做个小小的“博客”,没准那天我的“博客”里也冒出个“金子美”、“水子美”的文字腕、日记狂,那我老唐不也是跟着出回名嘛,不成功也没关系嘛,反正只是玩一玩。说干就干,周六早早起来,在老婆的怒骂声中摔门而去,直奔中关村。

第一步:选购1U服务器配件

大家一定特别关心我的服务器打算用什么配置?呵呵,那还用说,当然是不看贵的,P4、至强的咱都不用,反正是拿来试验玩一玩罢了,于是直奔AMD专柜,按照如下廉价药方抓药:

项目 型号 价格(仅供参考)
CPU  散装AMDxp2500+ 580元
内存 2条256M金士顿DDR400 280元×2
主板 映泰M7NCG400-PC主板 580元
显卡 集成
网卡 集成10/100M网卡
硬盘 1个希捷并口7200转160G(最多可以加装到4块硬盘) 720元
1U机箱 “玄冰1代”1U4DXB625九风机1U机架式服务器机箱,含300瓦足功率电源 1100元
CPU散热器 机箱赠送AMDxp专用1U玄冰散热模块
 
总价格 3540元

照方抓药,几分钟搞定,明眼人一看便知,这是一套特别超值的1U服务器配置,AMDxp2500+具有512K二级缓存,速度可以媲美P4-2.8,但是价格仅仅相当于后者一半不到,因为具有良好的超频潜力,被游戏玩家们推崇备至,当然,咱们做服务器稳定第一,超频之类的小孩玩意儿咱是绝对不会考虑的,不过超频性能好,也从一个侧面证明了这块CPU的稳定性很好,适合作为服务器的应用。其实用xp做服务器的例子超级多,曾经有朋友告诉我,AMDxp2500+在运行数据库时,性能超越P4-2.8C,呵呵,那个朋友在机房托管了20多台1U服务器,全是AMDxp,从1700到3000+都有,专做虚拟主机和电影下载,早就发财了。

再看看服务器稳定的基石——主板,也许有的朋友会嫌弃我选择的这块映泰主板,其实您是走眼了,映泰主板在对AMDxp的支持上一直表现很好,这块映泰M7NCG 400通过了AMD公司的认证,采用NVIDIA nForce2 IGP+MCP芯片组,作为要求不高的服务器应用来说,这款全集成的主板是足够应付的,别忘了这样的价格你想用上真正的服务器级别主板是不可能的。

上图是主板上集成的Realtek RTL8201BL 10/100M自适应网络控制芯片,这是南桥内部整合有网络功能的主板上很常见的IC,RTL8201BL配合主板南桥芯片能够提供物理层的PHY,可以用来连接RJ-45网卡接口,稳定工作。

硬盘自然越大越好,我一直偏爱希捷的散装硬盘,其实这只是个人原因罢了,因为上次装机器,一不小心,一块硬盘掉落,我急得抬脚一挡,哇靠,不慎用力过猛,结果反而将硬盘踢飞出去,撞在墙上,然后摔在水泥地上,拿起来接电一用,什么毛病都没有,呵呵。现在一块7200转的希捷并口160G硬盘只要700出头,立即拿下。这次我在服务器上装4块硬盘,其中只有一块是我的,另外3块是朋友搭载的,现在宇宙飞船都能搭载,何况服务器。说到这里,我想起,好多朋友总爱问我,IDE硬盘是不是不如scsi硬盘可靠啊?是不是不如scsi硬盘速度快啊?对此,我亲身体会是,IDE硬盘做互联网服务器完全可行,别的牌子不好说,我使用过的希捷并口2M的IDE硬盘,至今还没有坏的,前几天,我去紫光、方正看他们新出来的NAS(大概可以解释成“存储服务器”),用来做磁盘RAID的都是一水的IDE硬盘,就是并口的,不含硬盘,一套开价几万元啊!呵呵,吓人吧。咱们这台服务器只要高兴,用转接卡接上一个ide的raid卡,一样可以用来做存储服务器了,不过提醒您,用来做磁盘阵列的硬盘,务必要选名牌,最好盒装的,因为做raid很挑盘,硬盘稍有坏道,都不能成功,这也就是为什么有些朋友发现自己的硬盘不做raid好好的,一做raid就报错。至于IDE硬盘的传输速度和同时负载多少人连线的能力,其实更不必担心,互联网服务器不同于局域网服务器,在局域网里,因为网络环境好,有时能做到千兆,这时硬盘的速度可能会成为瓶颈,但是作为互联网服务器,主要瓶颈目前还是带宽,大家都清楚,以最常见的百兆共享环境为例,托管的服务器所能分配到的实际连入互联网带宽,不会超过几兆,任何IDE硬盘的传输速率都不会低于几十兆,所以,瓶颈根本不在硬盘。什么时候您舍得租用百兆独享的带宽了,您再考虑硬盘的速度是不是太慢吧。

机箱方面我选了能支持4个硬盘的1U机箱,并且能为温度如此高的AMDxp2500+安全散热,这套机箱里含有了能稳定支持4个大容量硬盘的300瓦足功率千际纯净服务器电源,对服务器来说硬盘自然是不怕多的,别忘了现在可是宽带时代啊,海量数据一会儿就会让硬盘吃紧!

第二步:组装1U服务器

数数东西齐了,开工,组装1U服务器对于我来说,比吃饭做梦还简单,轻舞一把生锈的螺丝刀,唰唰几下完事。(小编:对此保留意见,据小编了解当时老唐弄到当晚11点还没完工)

装CPU时要注意,务必在开机测试前,将散热模块安装好,散热模块的扣具一定要正确扣好,记住扣具的按下把手一端要对着主板边缘一侧,如果扣反了,散热模块的底部就不能和CPU良好接触,好像跷跷板一样,如果接触不好,瞬间就可能烧毁CPU,真的,不要相信很多媒体上说的AMDxp已经具有良好过热保护电路的说法,我买配件时候,那个柜台的哥们儿就在亮板子测试时图省事用一个普通P4散热器按在CPU上开机,结果几秒钟之后,CPU就烧了,表现就是,从CPU下面看隐隐出现了几根树枝状的焦糊痕迹,当时把那个哥们儿悔死了,这样烧的CPU,按照村里的规矩,上家是不给保修的,前车之鉴啊,必须小心。

然后插上内存,看到了吗?这个主板上一共有3条内存,如果要开启双通道技术,就要把一条内存插在左边两根挨在一起的内存插槽之中的一个上,然后把另一根内存插在右边单独的那根内存插槽上,这样才能顺利开启双通道内存技术。

好了,看看吧,一台美观大方的1U标准机架式服务器诞生了,虽然配置一般,但还是稳定的,而且容量巨大,都快赶上几万元的小型NAS存储服务器了,呵呵,如果你愿意完全可以用PCI转接卡转接一个IDE-RAID卡,做一台小NAS,保证领导同事对你刮目相看。

好了,开机看看吧,对了,注意在开机时进入bios设置,把主板FSB设置为166MHz,这样才能正确识别CPU的频率,否则主板会默认把CPU识别成较低的主频。

在Bios里进入Health选项,看看CPU温度,呵呵,刚开机竟然只有21摄氏度(如下图),没想到在仅仅4厘米高的1U机箱里竟然能取得这么好的成绩。开了一会,23摄氏度了,又等了1个小时,25摄氏度了,看看没什么大问题,就开始装系统,装的是windows2000高级服务器版。

装好系统之后,用主板自带的测温度软件一看,进入系统之后,CPU温度空闲时只有21摄氏度,拷贝大文件运行一些程序,1小时左右温度上升到27摄氏度,非常满意。

用软件检测一下,找出系统漏洞,一一打好补丁,特别是要首先打好SP4补丁集合,在此基础上打好冲击波补丁、振荡波补丁,因为现在机房里就这两种东西闹得凶,一旦联网之后染上,那么悔之晚矣,很难办。所以要早做准备,防患于未然。

最后,装好杀毒软件和远程管理软件,因为得把服务器托管到电信机房的,机房完全封闭,每次进去调试机器都要预约,很麻烦,所以一般的调试尽量要通过远程管理来完成,很多朋友喜欢用3389之类的win2000自带的客户端来管理,我则喜欢用一个小工具——RAdmin,我用的是汉化版,这个软件虽小,但是功能还比较强大,Radmin是一个远程管理程序,可以通过网络控制远程服务器,可以实现全屏功能,好像在使用本地的计算机。只要能通过局域网或互连网相连,就可以管理服务器,可以在本地和服务器之间传输文件,可以重启、关闭服务器。Radmin包括两部分:一是服务端,安装在远程计算机上,可以传输远程计算机的显示内容;二是客户端,安装在本地计算机上,也是查看端、控制端,通过它可以控制对方的计算机。这个软件的用法很简单,一看就会,就不多说了。需要注意的是,诺顿的杀毒软件会认为Radmin是病毒,其他杀毒软件倒没有这样认为,所以,你如果用这个软件,就不要安装诺顿杀毒软件。

安装好远程管理软件,先在本地局域网试试,启动软件,连接成功。你看,两台电脑的屏幕显示完全同步,完全一样,在控制端操纵鼠标移动,打开文件夹,旁边的服务器屏幕上也同时显示这些操作。

第三步:托管。

测试成功,精心包上咱们的1U服务器,准备去——托管。

托管的地方咱早就找好了,本着公司规模大、经营时间长、信誉好、人员多(千万别笑,这是实在话,人太少的托管公司最容易发生“鸟兽散”)等几个原则,我选择了一家位于长安街沿线的老牌IDC公司,价格已经谈好了,合同也看了,虽然合同里“陷阱密布”,但是对于老唐这种长期混迹服务器行业的“老鸟”来说,根本构不成多大威胁,首先亮出咱写的名篇《真知灼见:首次托管服务器经验完全手册》,当时网管就蔫了,原来您就是唐华啊,得,服了,这点内幕您都清楚,我也就不耍花样了,合同您看着改,改好了知会小弟一声就行。看他那么诚恳,虽然我心里清楚早晚还得被他害了,我还是笑笑,人在江湖飘,谁能不挨刀啊,算了,信手将合同里一些特别混的条款给删改了一下,例如,不许中途增加费用,不许未经我允许随便将我的服务器转包其他公司等等,就定了,其实,合同签得好固然重要,但是更加重要的还是对方公司的实力、信誉和服务水平,如果他们的实力达不到,那么所有合同承诺的都是一张废纸。

好了,废话少说,那家公司距离不远,干脆叫上同事老刘,骑着他的电动自行车送过去,你看咱们的1U服务器就这么小巧,夹在自行车后面很方便。大家别笑话,很多暴发户当初是坐公车去的呢……

走过绿树成荫的长安街沿线,微风习习,一路和老刘有说有笑,计划着将来用服务器赚钱的方案,心情好像要飞起来了。

也就十分钟,那家公司所在的大厦已经伫立眼前,看看,够气派吧?好多朋友看了我的关于托管的文章之后来信问我,到底什么样的托管商才算比较大的托管商呢?看看这个,最低也得这样,最差也得在这种地方办公的公司,才有点可信度,毕竟是几千元、几万元的东西托付给陌生人,看着就那么寒酸能放心吗?您说是不是。

闲话少叙,穿大堂,乘电梯,上楼,进入托管商所在的房间,看看就是这样,房间大概200平米左右(这在托管商里算很大了),大厅墙上贴着《员工守则》,用玻璃墙和小隔板分隔成几个小房间和许多小格子,和我保持联系的业务员小强,就在其中一个格子里等我,看到我来了,立刻笑脸如花迎上来,虽然他这么热情,但是一贯倒霉的我还是担心如果我付了钱,这张脸立刻会变成另一副德行,所以对他有言在先“试用三天再给钱,不满意就搬走”,小强慨然应允,一颗心落地,暂时还不用担心他翻脸。

看看,这是坐在小强的座椅上偷拍的这家公司的会议室,会议室墙上挂着一排各种证书。

小强说今天一共有3台服务器要一起送去托管,我坐着和一个这里的技术员闲聊,他说另外两台都是从外地托运过来的,其中一台还在路上,是河南托运来的,一会,那个服务器送来了,我看他也没有检测我们的服务器,就招呼小强,抱上服务器,开路。

来到楼下,我没有看到送货的专车,小强带着我和技术员走过长安街上的天桥,来到马路对面的公共汽车站,我的天,没想到,这么大的公司,去机房托管服务器,还要技术员抱着服务器,带客户挤公共汽车去!我头立刻大了,一个1U服务器将近20公斤啊!抱着一路,心里不由得暗叹,真是公司越大“压迫”越狠啊,可是看小强和那个技术员谈笑自若,看来早就习惯了。正在这时,小强的手机响了,他接听之后说,哎呀,公司叫我去另一个机房,不能陪你们去了抱歉。说完溜了,我一看,算了吧,招手打车,带着技术员直奔位于金融街的机房,这是一家联通的机房,带宽不错,不过小强说了,放在这里是暂时的,不久要给我放进北京东部的一家电信机房。

到了机房,技术员出示了工作证件,带着我进入了机房,机房里很干净,一排排机柜整齐排列,技术员带着我来到他们公司租用的一排机柜面前,打开机柜,将服务器一一放进去,里面已经有了几台1U、2U的服务器,技术员给服务器连上电源、网线,打开服务器,绑定了IP地址、DNS、网关地址等,一切OK。可惜,这个机房不知道出于什么目的,不许随便拍照,所以我也只能趁他们不注意时快速拍一些,大家看看吧,以后有机会再拍摄更多机房的照片给大家。对了,我特别要求技术员把我的机器放在最上面,以免被人家上下夹住,散热不好。

第四步:远程管理服务器

回到家里,打开远程控制软件的客户端,输入小强给我的服务器IP地址:218.30.116.*,进行远程连接,我现在要在家里象管理自己本地计算机一样管理远程的服务器。

用鼠标右键点击窗口上边,选择“全屏幕查看”,至此,就可以象操作本地计算机一样操纵远程服务器了。不过不要晕啊,好多人都容易发晕,忘了自己正在使用的并不是自己的电脑,而是远程的服务器,你现在下载、安装的软件,都是安装在远程服务器上的。进入桌面,先调出温度监测软件,看看温度,呵呵,挺好,才23摄氏度。

第五步:开设虚拟主机

服务器托管好了,我就要把自己的小博客放到服务器上去,我已经给这个“博客”申请了一个国际域名:www.williamlong.info,怎么样够酷吧。怎么样才能让朋友们通过这个域名访问到新服务器呢?当然不能让朋友们直接用IP地址访问,虽然这样也可以,但是对于服务器来说太浪费了,要知道现在IPv4地址面临枯竭,所以每个IP地址都是弥足珍贵,国内现在的做法大多是,在一个IP地址上绑定尽量多的域名和网站,这样可以有效利用IP资源和服务器资源,这就是我们常听说的“虚拟主机”技术。

简单地说,虚拟主机就是在一台服务器里同时运行几个网站、提供WEB、FTP、Mail等服务。 下面我就介绍一下最常用的WEB服务的虚拟主机设置。首先,我先去域名管理界面里,添加新的A记录,将www.williamlong.info和williamlong.info的A记录都指向218.30.116.*,此时A记录并没有立刻生效,一般最慢不超过24小时就能生效;

其次,我通过远程管理软件,进入服务器进行设置: (应小编要求,这里把设置的每一步都详尽地给出来,熟悉这些软件的朋友就不必看了)

1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。

2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。

3、输入站点说明,如“williamlong.info”。按“下一步”。

4、在“站点的主机头”上输入域名“williamlong.info”。按“下一步”。

5、在路径里指定站点的目录路径。按“下一步”。

6、在权限里选择适当的权限。按“下一步”,即可完成。

这样设置之后,朋友们就可以通过访问williamlong.info访问我的博客了,但是我希望大家使用www.williamlong.info也能访问博客,于是做如下设置:

1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。

2、在IP地址右边点击“高级”。

3、点击“添加”,输入端口号80,再输入主机头名“www.williamlong.info”。

最后千万不要忘记了,在文档里添加index.htm、index.html、index.asp,服务器默认文档里原本没有这几个,如果忘了,你的网站就会显示不出来,好多人都发晕到这里。

其实以上步骤就是现在虚拟主机经营者的最常见做法,如果有多个站点要添加,重复执行上面的步骤 即可,当然,还要在服务器上安装FTP服务器软件,给每个站点的用户设置FTP帐号,这样用户就能通过FTP将网站内容上传到服务器上自己站点的目录里。

好了,一切就绪,在浏览器地址栏里输入www.williamlong.info,哈哈哈哈,我的博客出来了,速度还行,这几天,我忙着给大家开虚拟主机,真叫一个爽!总体来说,这家IDC服务商的服务还比较到位,小强经常联系我,问我使用感受,对我提出的意见,也比较重视,很有大公司风范,看来,这一年托付给他们,应该不会出什么意外。总之,还是那句老话,日久见人心,托管商的好坏还是需要经过时间的考验。

谈广告联盟与诚信问题的必然关联

诚信在中国任何层面都存在有很大的问题,从达令港关门前还在办消费卡,到肯德鸡的保证没有苏丹红,我们不难发现中国企业的诚信缺失,最近我看到很多关于google,奕天广告和很多国内广告联盟的文章,比较出名的有verycd的站长 dash的至google公开信,还有一个驽兽下载的站长的至google公开信,不过看了这些文章主要是认为广告联盟动不动就以个人网站作弊而封杀该网站或者扣了该支付的钱,更有站长说自己是冤枉的,因为作弊的人是自己的竞争对手故意为之。

在这里,我们不去谈具体的作弊技术手段和封杀是否正确,我只想谈谈我们的个人站长,广告联盟的诚信问题。

首先谈谈广告联盟的诚信问题,其实广告联盟的诚信问题分为两个方面,一是对于网站站长(发布媒体),一是广告主。对于网站站长最容易解决也最容易出问题,最容易是因为广告联盟只要按时把统计出来的钱付给网站站长,我相信也没有人会说这个广告联盟不诚信,最容易出问题是因为广告联盟由于某些原因暂停或者取消支付,这样的结果一般是在各大站长论坛马上可以看到大骂特骂广告联盟的帖子了。其实我在研究了那么多广告联盟的运作机制后,认为大多数的广告联盟还是很负责的,都可以做到按时支付该支付的钱。

诚信的核心问题还是来自于我们的网站站长,有时候不得不佩服中国人的小聪明。不管广告联盟模式考虑的再全面,再仔细,都能有办法作弊。笔者最近一直闲逛于各大赚钱论坛和站长论坛,看到了太多太多的互点联盟和作弊大全,也看到了太多由于作弊被广告联盟封杀后骂娘式的恐吓。

不可否认,互联网的发展离不开大量的个人网站,但是现在很多人做站的目的被歪曲了,不择手段去骗取更多的钱已经成了第一追求了。结果就是不管是不是违法,是不是违规,只要能来流量,我就采集,实在做不出流量的,就想办法作弊,互点,总之只要我在广告联盟的帐户里面钱往上加就可以了。然而凡是都有一个因果循环,广告联盟也不是傻子,象google这种从来不手工干涉搜索结果的公司都会手工处理中文结果,会封杀作弊的个人网站了,何况常常拔毛的百度和很多资金并不是很充裕的广告联盟公司了,然而最终的广告主,在发现投放的广告费没有带来实际广告效果的时候,整个行业的诚信问题直接会影响互联网的发展了,当广告联盟收不到广告主的广告费用的时候,中国上万的个人网站的生存和发展都会有问题,相信hao123,9flash之类的互联网神话将不再出现。

诚然,我相信作弊的站长永远都会存在,但是希望,或者说是愿望,为了你自己,为了别人不要作弊,老老实实赚钱,这样你一定可以赚更多的钱。

作者:于震

Z-BLOG屏蔽敏感关键字功能的代码

下面是ZBLOG的屏蔽评论中敏感关键字的程序代码,主要用于替换文章评论中的敏感或非法的关键字。

只需要修改一个文件c_system_event.asp,将其中的objComment.Content=Request.Form("inpArticle")修改为objComment.Content=WordFilter(Request.Form("inpArticle"))

然后在c_system_event.asp文件尾部加入代码:

Function WordFilter(strInput)
    Dim i
    Dim strOutput
    Dim strFilter
    strFilter = Split("关键字1,关键字2,关键字3", ",")
    strOutput = strInput
    For i = 0 To UBound(strFilter)
        strOutput = Replace(strOutput, strFilter(i), String(Len(strFilter(i)), "×"))
    Next
    WordFilter = strOutput
End Function

htaccess文件使用大全

Apache系统中的.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

.htaccess必须以ASCII模式上传,最好将其权限设置为644。

错误文档的定位

常用的客户端请求错误返回代码:
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type

常见的服务器错误返回代码:
500 Internal Server Error

用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:

ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html

一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:

ErrorDocument 错误代码 /目录名/文件名.扩展名

如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:

ErrorDocument 401 “你没有权限访问该页面,请放弃!”

文档访问的密码保护

要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:

zheng:y4E7Ep8e7EYV

这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。

有了授权用户文档,可以在.htaccess中加入如下指令了:

AuthUserFile .htpasswd的服务器目录
AuthGroupFile /dev/null (需要授权访问的目录)
AuthName EnterPassword
AuthType Basic (授权类型)

require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user)

注,括号部分为学习时候自己添加的注释

拒绝来自某个IP的访问

如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。

例如:

order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all

第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255

想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。

保护.htaccess文档

在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:

order allow,deny
deny from all

URL转向

我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:

Redirect /旧目录/旧文档名 新文档的地址

或者整个目录的转向:

Redirect 旧目录 新目录

改变缺省的首页文件

一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在pmwiki中是pmwiki.php。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:

DirectoryIndex 新的缺省文件名

也可以列出多个,顺序表明它们之间的优先级别,例如:

DirectoryIndex filename.html index.cgi index.pl default.htm

防止盗链

如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。

所需要的指令如下:

RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ - [F]

如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替:

RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]
 

国外优秀开源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

2012年6月29日星期五

WordPress MU优化表的脚本

WordPress MU由于每建立一个新的用户都会自动建立十多张表,因此当注册大量用户的时候会建立非常多的表,引起系统的性能出现问题,我这里写了一段脚本,可以将WordPress MU中的不活动用户(从没有发布文章的用户)进行删除,以节约系统资源。PHP脚本源代码如下:

<?php

    $mysql_host  = "localhost";
    $mysql_user  = "root";
    $mysql_pass  = "";
    $mysql_db  = "wordpress";

    $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)
    or die ("Cannot make the connection");
    mysql_select_db($mysql_db, $mysql_mylink)
    or die ("Cannot connect to the database");

    $strsql="select * from wp_blogs where blog_id>2  ";

    $rs_query = mysql_query($strsql);
    $alls=mysql_num_rows($rs_query);

    while (($RS = mysql_fetch_array($rs_query))) {
          extract($RS);
    $blogid=$RS["blog_id"];

    $query2 = "select * from wp_".$blogid."_posts ";
    $result = mysql_query($query2);
    $num= mysql_num_rows($result);
    //print $num;
    if ($num<=2) {
  print "DROP TABLE IF EXISTS wp_".$blogid."_comments;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_links ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_options ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_postmeta ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_posts ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_terms ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_term_relationships ;";
     print "DROP TABLE IF EXISTS wp_".$blogid."_term_taxonomy ;";
  print "DELETE from wp_blogs where blog_id=".$blogid.";";
    }
    }

    mysql_close ();

?>

由此看出,WordPress MU使用起来实在不怎么样,多表结构设计的可能有问题,会带来很多麻烦。

在Windows IIS下配置WordPress MU环境

昨天介绍的Windows Server 2003下的IIS和Apache性能比较,其实Apache在Linux环境下的性能还是很不错的,我之所以使用Windows Server 2003而没有用Linux,是因为我对Linux的维护并不熟悉,因此才使用Windows环境。

在Windows环境下使用IIS搭建和Linux的Apache一样的环境也并非不可能,下面我就介绍一下我使用Windows Server 2003的IIS搭建一个和Apache一样的WordPress MU(WordPress多用户版)的过程。

首先要安装PHP和MySQL环境,为了方便安装,可以直接安装一个WAMP的集成安装环境,可以直接将Apache、MySQL和PHP安装好,将其安装为服务后,禁用Apache的服务,以免其和IIS冲突。

接着是在Windows Server 2003下配置PHP,配置方法是,在IIS的“WEB服务扩展”中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再“环境变量”-“系统变量”中增加变量名PHPRC,数值为php.ini的路径,重启服务器即可完成PHP的配置。

接下来安装WordPress MU环境,安装过程和Apache环境下安装一样。

最后,最重要的一步就是设置URL重写(URL rewriter),目前我使用的是一个名为ISAPI_Rewrite 3的ISAPI实现的这个功能,3.0版本ISAPI_Rewrite兼容Apache的mod_rewrite格式,可以直接将.htaccess文件内容复制到httpd.conf中,可惜这个软件的免费版减少了很多有用的功能,多站点设置有点复杂。

ISAPI_Rewrite对于Apache的mod_rewrite并不是完全兼容,还需要对WordPress进行一些修改,打开WordPress MU的wp-settings.php文件,在文件的最开头增加下面这一行:

$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];

好了,现在WordPress MU即可在IIS下运行了,WordPress单用户版的配置也是同样道理,而且会更简单。

WordCamp China 2008报名开始

受人之托,帮忙宣传一下WordCamp China2008,虽然我的中文博客用的是Z-Blog,但是我的英文博客用的就是WordPress,总的来说,WordPress在国外是一个非常流行的博客程序,功能强大,可定制性很强。

WordCamp China 2008为中国的WordPress用户和开发人员的一个讨论平台,这是一次面向所有WordPress爱好者,博客使用者,和开发人员的聚会。这次活动,WordCamp China邀请到了Matt Mullenweg (WordPress软件的创始人之一,Automattic公司创始人)。

WordCamp China 2008将分别在北京和上海举行。北京为9月20日(周六)全天 ,上海为9月21日(周日)下午。

北京9月20日的活动,上午,主要集中在技术讨论,第一个报告由 Matt 介绍一下WordPress的现况,以及以后的发展目标。下午,集中一些用户关心的话题,包括一些博客相关的讨论。

上海9月21日的活动,作为一个用户见面会,Matt做简短的报告。

目前报名工作正在火热进行中(点此注册),具体活动信息请关注 议程安排最新动态

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语句》。

AdSense的交叉牟利和无效点击

先报告两条Google Adsense的新闻,一条是“Google开始清理利用AdWords获取AdSense非法利益的用户”,就是某些用户购买了大量格价极低的广告关键词,在AdWords里投放广告,从中获得巨额的流量;然后又注册了AdSense,建立起完全针对AdSense广告的网站(MFA,Made for AdSense),并且在这些网站上面设计了高价格的关键词,通过两者差价获利。另一则新闻是“谷歌中国后院起火,铁杆粉丝公堂对簿”,Google Adsense的一些支持者和推广者也对中文AdSense失望了,adsenser论坛的管理员小龙在上海起诉Google的所谓“无效点击”,指出Google Adsense的无效点击判断和处理方式已经严重偏离了正常范围,发布者账号被停止,理由是无效点击;发布者收入被调整,理由是无效点击;这些无效点击的判断没有任何解释,理由是Google的算法具有专有性。

对于通过同时做AdWords和AdSense,通过两者的差价进行牟利,我以前也曾经推荐过,因为AdSense的计划政策里并没有禁止这么做,更何况中文AdWords的广告价格更低得离谱,甚至低于百度主题推广的价格,因此我才推荐大家申请Adwords广告来获得大量流量。

现在既然Google认为同时做AdWords和AdSense有所不妥,那就应该适当提高中文AdSense的底价了,8分钱一个点击的价格比百度3毛钱的底价还低的多,只要存在这么低的广告价格,通过AdWords套取流量的做法就无法从根本上避免和杜绝。

而AdSense的所谓的“无效点击”也存在很多问题,广告发布者要通过各种方法来避免被AdSense误判为无效点击,很多人帐号被关闭了都不明白是怎么回事,可能他只是在网吧里上了一下网,就会被误判,由于语言和地理区域的差异,通常情况下即使误判了,广告发布者也难以申诉恢复帐号。这次Google的拥护者都开始起诉Google了,说明这种误判的情况已经越来越严重了。

当然,中文网络环境是非常糟糕的,很多广告发布者喜欢使用一些低级的方法作弊,也是导致“误判”情况增多的一个因素,同时,申请AdSense通常比申请百度主题推广要容易一些,也是广告帐户被滥用的一个因素,因此,现在已经是时候了,Google应该在中文网络的“无效点击”的误判上有所行动,还那些被冤屈的无辜者一个清白。

Google Adsense的技巧、诀窍和秘密

我最近一直在阅读一些关于Google Adsense技巧的论坛和博客,我觉得有必要将这些技巧都集中整理在一个地方,同时我也写了几个我自己的诀窍。我们开头先讲一些最基本的一般性常识,然后再逐步深入讨论一些更为具体的主题。

建立一个帝国?

当你决定成为一个网站广告发布者时,你会陷入两个不同类型的怪圈:

发布100个每天赚1美元的网站。

发布1个每天赚100美元的网站。

目前的现实是,大部分人最终会成为这两者之一。拥有100个网站会让你疲于维护、管理以及内容建设。拥有1个网站会让你承受各种各样的波动和变化(搜索引擎算法变化、市场发展趋势变化等)。你可以制定适合你自己的计划,但必须是在刚开始确定方向的时候,而不是在快要结束的时候。

广泛还是专一

你可以围绕一些广泛或者专一的话题来建设你的网站,一般来说,内容专一的网站更适合Adsense。其次,聚焦专注于某一领域写作,可以让你很自然的成为那个领域的专家,并且还有可能使你成为你所在领域的权威。

如果你是第一次尝试建立一个投放Adsense的网站,那么做一些你喜欢的内容,这将使得整个过程变得容易得多,没有太多痛苦的任务。你还应该确保你的话题足够多,你的费用支出能控制在令你能够接受的水平。你可能很喜爱中世纪的民间舞蹈,但是使用这个主题的广告商实在太少(实际上为零)。

一旦你建立了一个运行AdSense的网站,你可能会想尝试一些高价关键字,甚至想要去购买一些高价关键字的列表。但某些危险可能就会随之而来。首先,远离这种欺诈性的点击才能让你挣到大钱,其次,这种行为扭曲了条款上规定的供求关系。每个人都希望他们的网站上的广告点击高于每个点击35美元,但有多少广告客户愿意付出那么多呢,实在是相当有限。此外,这种流量的竞争将使得竞争加剧。所以,如果你赶不上强大的对手,那么就不要试图与其竞争。如果你已经足够强大,那样才会有机会。我已经使用了一个cashkeywords.com提供的高关键字报告,并对结果很满意。

新网站、文件和维护

当你新建一个网站的时候,请在网站完成之前不要放置AdSense。实际上,我自己做的更为彻底,直到我的网站已经完全建立好了内部链接并且已经获得了流量,我才开通AdSense。如果你架设一个内容不多的网站,你的AdSense几乎肯定会显示和主题无关的广告,对于现有网站的新文件,特别是全新或不同的话题来说通常都是这样的,Google的爬虫大概要几天或者几周的时间才能重新访问你的网页并得到准确的针对性广告。提示:如果你能从不同的IP地址获得大量的流量,这个过程会加速。

我喜欢使用include文件的方式建立网站,我将页眉、页脚和导航放在公用文件中。这样的网站会变得易于管理和维护。我还喜欢将我的AdSense代码也放在include文件中,如果我想要修改我的AdSense代码,我只需要修改一个文件即可。提示:我还会通过程序来实现打开/关闭Adsense,我可以设置一个全局变量,通过修改其数值来决定我的AdSense广告是显示还是消失。

管理URL渠道

AdSense渠道是一个用于方便统计的区域。你可以设置URL渠道来比较不同网站,你也可以为每个URL设置子渠道。最后你设置的渠道会是这样子的:

  • domain1.com - 728 横幅
  • domain1.com - 336 矩形
  • domain1.com - 文本连接
  • domain2.com - 728 横幅
  • domain2.com - 图片横幅
  • domain2.com - 336 矩形
  • domain3.com - 300 矩形

虽然渠道可以让你知道哪些人点击了哪里,但是它的报告有点靠不住,你的总数永远是正确的,但是如果你以渠道的方式查看报告会发现有些数据会显示多次,但是累加起来的总数对不上。这使得情况变得很混乱,所以你还是要考虑一下是否真的需要这种情况的详细报告。提示:至少,你想知道某个网站是否产生了收入,请务必将其输入URL渠道。

网站设计和集成

Google Adsense的技巧、诀窍和秘密

一旦你决定将AdSense放到你的网站上,你就必须考虑一下如何放置。如果这是一个新站点,那还简单一些,如果是一个现有的网站,那会比较麻烦。虽然有些人做不到这一点,但大多数情况下我会说,如果你只是将AdSense代码复制到网站,你得到的将是一个怪胎。虽然每个网站的风格都是不同的,但是Google已经发布了一些图示表明最佳的优化地点。毫无疑问,页面的中心和左边是最佳点,现在,我已经将广告放在了正确的位置,但是你还应该知道,为什么要放在那里,如果效果不好,如何进行修改调整。

Google还发布了一些具有较高性能的广告大小方案:

  • 336 × 280大矩形
  • 300 × 250内嵌矩形
  • 160 × 600摩天大楼

在我的网站上,我使用336的矩形和160的摩天大楼。我的另一个表现最好的广告尺寸是728的横幅,我并不常使用300的矩形广告。所以,你只要能将广告更好的集成到你的网站就最好,位置的变化有时能产生戏剧性的效果。提示:对于新站点或者新布局来说,你应该对每个广告位置建立自己的渠道,同时不断观察用户的习惯和行为。

另一个提高点击率的技巧是将Adsense广告融合到内容中去。例如,你内容的颜色是黑色,那么去掉AdSense广告边框并使得标题、文字和链接都是黑色。提示:尝试改变一下你网页超级链接为一个高对比度的颜色(例如深红或者深蓝),然后将AdSense广告的标题也修改为同样的颜色。

有一种情况,我发现混淆广告和内容并不起作用,那就是论坛,特别对于那种具有较高粘性的论坛。一个小技巧是将广告的颜色甚至位置进行随机变换,正确处理广告位置和颜色是一门学问,你要知道如何配置广告同时还不能让访问者厌烦,记住最好是500个用户产生1%的点击率,千万不要50个用户产生5%的点击率。提示:对于论坛来说请尝试将广告放在第一个主帖的下方。

使用图片

另一个最新的“诀窍”是使用图片,将图片放在AdSense的上面或者下面的位置(译者注:这种方法可能违反了最新的AdSense计划政策),使用这种方法曾经在某些论坛上讨论过,很多人谈到点击率翻了两翻。最基本的设置是将你的AdSense广告和图像基本上成为直线。这是否属于欺诈或诱骗点击有一定争议,显然如果使用四个闪烁的箭头放在广告旁将是“引诱用户点击”,违反了AdSense条款,然而如果使用笔记本电脑图片搭配笔记本电脑广告是不是欺诈呢?这需要你自己来判断,Google和广告商的看法也是很重要的,如果你不能确定广告形式是否有问题,那么最好发邮件给Google让他们来看一下。

使用图片的方法我已经用了,而且可以告诉你这挺有用,如果你的图片和广告匹配的很好,那么你能得到最好的效果。例如,如果你的广告是关于苹果派的,那么就要使用一个新鲜出炉的苹果派照片而不是奶酪、苹果电脑、红衣女郎或者红色苹果等等。提示:不要将自己限制在固定大小的广告单元上,应该在其他大小的广告上也可以用,例如336矩形。(补充,在这个问题上我得到了一些批评,我也不能确认我说的是否能实现,不过最好不要使用很容易识别品牌或者产品的图片,使用一些具有通用特性的图片可能更合适一些)。

多个广告单元

另一种增加广告收入的方法是使用多个广告单元。根据Google的计划政策,你可以在一个页面放置不超过三个广告单元。类似标准的搜索结果一样,最高价的广告单元将首先显示,其次是价格较低的。如果你有足够的广告位,那么就将三个广告单元全用上。不过,你要注意把握收益率,假设当前你能得到60%的收入(按照每个0.05美元的点击你获得0.03美元计算),如果来自第三个广告单元的广告仅仅让你得到3到5美分,你应该将其从网页上删除。因为这个地方不能让你的广告单元体现价值。如果一个广告单元有很高的点击率和点击流量,你应该确保最高价的广告在那里显示。提示:使用CSS定位的方式可以让最高价格的广告显示在顶部。

RSS中的Adsense

随着博客和RSS的普及,你会发现Adsense在feed中出现,不过这并没有什么用,理由如下:

你只能放置一个广告单元。你没法控制广告单元的好位置。这些广告的匹配通常都非常差(会越来越好的)。有人开发出屏蔽广告的软件。

我知道人们喜欢在阅读器中阅读全文的feed,并且至少有十多个理由表明全文输出更能讨好手机和离线用户,这些道理的确是正确的,但是如果你的网站需要依靠AdSense得到收入并生存下去,那么就应该摘要输出,将用户带到你的网站,给他们看广告。

广告代理联盟

将Adsense放在广告代理联盟的网站是个好主意。如果你正在代理销售10美元、20美元、30美元的商品而获得1美元的回扣,如果你发现转化率很低,那么绝对应该试试AdSense.我喜欢将AdSense放在我的文章页面,例如你有一个网站正在卖鞋,那么你应该需要一些相关的文章来充实这个网站,在这些内容上放置Adsense是最合适的。当然,这些可能不会让你富起来,但是通常会提供一个稳定的小额收入可以弥补支付类似托管费用的支出。提示:如果你发现你的页面能够得到每月超过50个点击,那么就尝试多写一些类似的话题,并将其链接到一个页面,检查你的日志看看别人是通过搜索什么关键字访问你的网站。

PPC套利

这是一个危险的项目,我自己通常不会冒险涉及。基本上,你可以出很低的成本在某个关键字上,然后设置一个引导页包含高价广告或者相关话题,你就可以在AdWords和AdSense之间的差价获得收益,比如你付出0.1美元的点击,获得1美元的点击,这样你就获得了每个点击0.9美元的收益,要让你的adsense广告被批准,你需要增加一些有价值的东西到上面,这可能会导致你被K,因此在尝试之前你要知道自己是在做什么。

好了,你还有没有什么其他的技巧、诀窍和秘密,那么就发邮件或者留言让我知道吧。

原文作者:Michael Gray
英文原文:Google Adsense Tips, Tricks, and Secrets
中文翻译:William Long
中文译文:Google Adsense的技巧、诀窍和秘密

2012年6月28日星期四

Z-Blog多服务器平衡负载的方法

对于Z-Blog访问量比较大的时候,往往会造成服务器负载和流量过大,引起性能问题,相关的解决流量的对策我以前也讨论过,根据我的分析,不少流量都是由于图片或下载等引起的,因此可以通过将下载文件夹upload放在另外一台服务器的方法进行负载均衡。

具体方法是,设定一个新的服务器网站地址(独立服务器或者申请的免费空间都可以),例如download.williamlong.info,在这个新服务器网站上建立upload目录,将原有的upload文件都复制到这个新服务器下。

然后,要规范博客文章的图片链接结果,在写博客的时候,不要使用绝对地址引用站内图片,例如http开头的图片,而是使用相对地址引用,例如以upload路径开头。

接着,打开FUNCTION\c_function.asp文件,在TransferHTML函数中,找到If Instr(para,"[upload]")>0 Then这一行(303行),将之后四行的ZC_BLOG_HOST修改为新的服务器地址。

最后进行文件重建和索引重建,这时候,Z-Blog中文章引用的图片地址就会全都引用新的服务器的地址,这样可以节省原有服务器的负载和流量,从而达到Z-Blog的负载均衡的效果。

目前我已经将我的博客使用这种方式进行了测试,分流的图片服务器是download.williamlong.info,我会观察一下这种设置是否会使得原有服务器运行速度加快。

月光Z-Blog反垃圾留言过滤插件

月光博客升级Z-Blog到1.8之后,我将原来版本的月光Z-Blog反垃圾留言过滤插件也进行了一些修改,使其能在1.8下工作,同时增加了Some Chinese Please功能,使得广告和垃圾留言的过滤更好了。

月光Z-Blog反垃圾留言过滤插件的功能主要是通过对垃圾广告的过滤和分析来阻止恶意留言,适用于Z-Blog 1.8以上的版本。主要功能如下:

1、对于评论中包含的禁止发表广告关键字过滤。这个和Z-Blog自带的Totoro功能有重复,可用可不用。

2、将评论中敏感关键字(也就是所谓的“有害信息”)替换为××,支持中文字符。这个功能主要用于自保,防止防火墙自动查询到你网站的“有害信息”并招惹麻烦。这个功能在WordPress系统中也有类似的插件

3、中文汉字检查功能,要求评论留言中至少包含一个汉字,类似WordPress的Some Chinese Please插件,这是我新增加的功能,主要为了拦截外国垃圾留言,因为国外的Spam大多都只包含英文字母,因此这个插件会检查留言中是否包含中文,如果留言中没有一个汉字,那么就将此留言拦截。对于中文博客来讲,这个功能可以过滤掉大部分的英文垃圾留言。

4、提交来源(referer)检查,禁用从外部地址提交评论。不过目前大多数发垃圾留言的都会伪造referer了。

5、评论者的IP黑名单列表屏蔽,禁止黑名单IP提交评论,可以使用*来过滤一个网段。

6、设置评论文字中允许包含的超级连接的最大数目,使用0则禁止评论中包含链接。

7、如果30分钟内回复评论超过一定数目,则该IP将被列入黑名单。

本插件自带了常用的垃圾关键字和敏感关键字,设置界面截图如下:

月光Z-Blog反垃圾留言过滤插件

点击这里下载“月光Z-Blog反垃圾留言过滤插件”,压缩包中包含ZPI自动安装格式的文件,也包含手动安装的目录和文件,已经安装了Plugin Sapper的可以直接导入ZPI文件。此插件和Z-Blog自带的Totoro插件可同时使用,两者没有冲突。

Z-Blog防治垃圾留言的策略

博客的留言评论原本是为了博主与读者建立良好沟通和交流的途径,然而,黑帽SEO通过一些自动发送链接的程序,大量粘帖他们网站链接地址进行所谓的SEO搜索引擎优化,特别在中国这个以百度搜索引擎为主导的网路中,这种垃圾留言已经呈现泛滥成灾之势,今天我就介绍一下如何在Z-Blog系统中设置防止垃圾留言评论的方法。

1、使用验证码

在Z-Blog“网站设置管理”-“页面设置”中,选择“发表评论时启用验证码”,这样,就会在评论上添加验证码的验证,防止机器群发,不过对于目前已经存在“人肉Spam”的存在,通过雇佣大量廉价“人肉”来输入验证码进行破解。并且验证码对于读者评论来说不太友好。

2、使用nofollow标签

“nofollow” 标签是Google、Yahoo和微软公司前几年一起提出的一个标签,超级链接加上这个标签后就不会被计算权值,Z-Blog评论默认就使用了nofollow标签,不过百度目前还不支持nofollow标签,这样nofollow功能在一个百度占据绝大多数市场的国家里,实际作用就大打折扣。

3、重定向超级链接

对于评论者提交的链接,不直接显示链接,而是使用一个重定向程序来链接,重定向使用JavaScript进行跳转,这样搜索引擎就不会索引这个链接。Z-Blog评论默认链接就是重定向链接。

4、使用robot.txt文件

放在网站根目录下的robot.txt文件是专门提供给搜索引擎读取的纯文本文件,当一个搜索引擎访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索引擎会按照该文件中的内容来确定访问的范围,目前包括百度在内的几乎所有搜索引擎都支持robots规则,那么我们可以通过自定义robots.txt来防止搜索引擎索引垃圾链接。

对于Z-Blog来说,默认下所有的留言链接都会被转化为function/c_urlredirect.asp这个重定向文件中,那么,我们只需要在robots.txt中添加一行 Disallow: /function/c_urlredirect.asp 即可让搜索引擎不索引所有评论的链接。

5、禁止超级链接

禁止留言中提交链接,也是一个反制垃圾留言的方法,对于Z-Blog用户来说,先安装“月光Z-Blog反垃圾留言过滤插件”,然后在“网站设置管理”-“Antispam设置”中,将“允许评论的包含的超连接数目”设置为0即可。

6、关闭评论功能

这是终极的一招了,关了评论,任何留言群发工具就都无法发送垃圾评论了,对于Z-Blog来说,在“网站设置管理”-“全局设置”中选中“关闭评论功能”就可以关闭评论了。

以上就是我总结的针对Z-Blog系统的反垃圾留言评论的几个方法,对于WordPress来说,建议使用Akismet和Some Chinese Please的组合,效果也不错。

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*'

Google Bookmarks使用心得

网络书签是一个技术上很简单,实际应用却很广泛的网络服务,主要用于解决IE收藏夹无法在不同电脑之间同步更新的问题,使得使用者无论在任何地方,只要能接入网络,就能打开属于自己的网络书签的实用功能。

Google现在终于忍不住也推出了在线网络书签服务Google bookmarks。与其他在线书签服务相似,Google也是需要在客户端安装浏览器插件来实现此功能,Google的网络书签是绑定在Google工具条4.0 beta上的,目前还处于beta测试阶段,只有英文版提供下载。目前看到的Google Bookmarks没有共享功能,只是类似个人收藏夹的功能。

使用Google Bookmarks非常简单,先安装Google Toolbar 4.0 beta,然后在工具条上登录(建议使用GMail帐号登录,点击工具条上邮件图标可快捷使用GMail),然后,再访问任何一个网页的时候,点击工具条上的蓝色星形符号,即可将此页加入Google网络书签中。

当然,更好的添加方法是点“Bookmark this page”,然后会出现一个的对话框,我们可以手动将该网址的分类填写进去,分类可填写多个词,每个词之间使用逗号分割。

使用的时候,只要再任何一台电脑下载Google工具条,并使用自己的帐号登录,即可同步显示自己的网络书签,其显示方式和IE的收藏夹非常相似。

月光博客的发展历程

这里是月光博客网站发展历程中的一些点点滴滴,记录在这里,留作纪念,希望将来的某一天,我看到这里的时候,不会感到遗憾。

2002年12月,月光博客前身网站改版,Google Pagerank首次上升到5。这是月光博客系列网站第一个PR为5的域名。

2004年10月,月光博客在方兴东的影响下,开始尝试对于新兴博客的运作方式,并逐步将精力从WEB1.0的网站形式转换为WEB2.0的博客形式。

2004年11月,月光博客开始使用方兴东的博客中国的系统进行更新,几个月中感受到了托管博客带来的流量限制和种种不便。

2005年1月,购买了月光博客的顶级域名,但是博客内容依旧使用博客中国的托管服务。

2005年4月,博客中国网站进行升级,使得原本很好的博客结构遭到了破坏,月光博客终于从博客中国出走,使用7LOG在国外网站建立了一个独立博客。

2005年7月,月光博客的系统从7LOG转换为Z-BLOG系统,同时开始使用国内的主机,访问速度和稳定性得到了一定保证。

2006年9月,月光博客的PageRank升到了5。

2006年12月,月光博客关于SaaS的专业文章在《中国计算机报》发表,对于中国企业在SaaS上的发展起了一定的指导作用。

2007年3月,月光博客的RSS订阅数超过1万。

2007年4月,月光博客的Z-BLOG升级到1.7版本。

2007年7月,月光博客的总浏览量超过一千万次,另一个谷歌地图专题的Google Earth观察博客的访问量也达到了446万。

2007年8月,月光博客开辟英文版本博客,并开始将部分中文月光博客的文章翻译为英文。

2007年10月,月光博客关于共享软件和软件商业模式的两篇文章在《程序员》杂志发表,进一步加强了月光博客在商业软件领域的权威度。

2008年4月,月光博客的PageRank升到了6,是为数不多的PR为6的中文博客。

2008年5月,月光博客的RSS订阅数超过5万。

2008年10月,月光和萧秋水、秋叶合作,共同创作的新书《名博是怎样炼成的:个人网络品牌博客全攻略》由机械工业出版社出版。

2008年11月,月光博客RSS订阅数超过10万。

2009年1月,月光博客被新浪网评为2008年度最佳十大IT博客

2010年3月,月光博客应南非大使馆的邀请,做为中国博客代表对南非共和国进行了为期十天的访问,途中访问了南非的三大城市:比勒陀利亚、约翰内斯堡和开普敦,旅行期间写的散文“彩虹之国南非”在6月份海南日报发表。

2010年5月,月光论坛网站被中央电视台报道,但央视在报道中刻意将月光论坛和月光博客混为一谈,遭到南方都市报、华西都市报等报纸的质疑,并引起南华早报、金融时报、BBC中文网等海外媒体的关注和报道。

2010年7月,月光博客RSS订阅数超过30万。

2010年10月,月光博客对国家测绘局新发布的“天地图”网站进行评测,揭穿其“卫星地图”功能并非其自称的“自主知识产权”,该测评博文被南方都市报、新京报、东方早报、解放日报等报刊媒体引用,之后月光博客在东方早报发表时事杂评“勿让天地图成绿坝第二”。

2010年11月,月光博客入选《新周刊》杂志评选的“2010网络生活价值榜·榜外榜”。

新建立了两个新网站

今天开始建立W网和R网,由于主机商的原因,都只能用ASP开发。

W网做了一个动网论坛,效果还可以,就是插件太少了。目前就安装了一个日记插件。我从S网上往W网送流量,W网目前再线人数还不少了。R网现在还没有建立好。

Google Earth Plus停止销售

据Google Earth网站报道,Google已经停止继续销售Google Earth Plus软件,该软件原先的价格是20美元每年。现有的Google Earth Plus用户可以尝试使用Google Earth通用版或者Google Earth Pro专业版。

相对于普通版的Google Earth来说,Google Earth Plus增加了如下的功能:

1、支持GPS数据接口导入——从GPS设备中导入线路行车内容;

2、影像高精度打印(高于显示器屏幕分辨率);

3、Email客户服务(问题解答等)支持;

4、注释提供草图简绘功能,这可以定义出更直观的书签与注释,并通过KML来分享;

5、通过CSV文件来实现数据输入;

Google Earth Pro专业版,每年400美元,具有Google Earth Plus的全部功能,并且提供更高品质打印、影像导出、电影制作、资料导入、顶级技术支持和测量工具等功能,适合于专业人员与商业用途。对于目前已经付费购买Plus版的用户,Google会在Pro版本的售价上打折扣,折扣价99美元。

目前Google Earth Pro专业版提供了2个月的试用。

Google Earth Plus停止销售的具体原因不明,我个人猜测,可能是因为Google Earth普通版更新较为频繁,Google不想同时维护太多软件版本,Google Earth Plus相关的功能可能会在未来增加到免费版中。

Google Earth是Google公司开发的虚拟地球软件,它把卫星照片、航空照相和GIS布置在一个地球的三维模型上。目前Google Earth有普通版和Pro专业版两个版本。

DigitalGlobe公布中国国庆卫星地图

据读者刘超爆料,美国Digital Globe公司近日公布了中国十一国庆60周年庆典的卫星图像,该图像由Quick Bird(快鸟)卫星提供,拍摄日期为2009年10月1日,分辨率为0.6米(2英尺)高分辨率。

美国DigitalGlobe公司是Google Earth最高分辨率(解析度)的卫星影像提供商,DigitalGlobe影像由QuickBird卫星拍摄。QuickBird卫星于2001年10月由美国DigitalGlobe公司发射,是目前世界上唯一能提供亚米级分辨率的商业卫星,影像比其他的商业高分辨率卫星高出2—10倍。在中国境内每天至少有2至3个过境轨道,有存档数据约500万平方公里。

DigitalGlobe 操纵3个成像卫星:Worldview I、Worldview II 和 QuickBird。这些卫星能收集高分辨率的商业地球图像,并且较现有的其他任何商业化卫星图像而言,它能提供最大尺寸、最大星载储存容量和高分辨率的图像。

中国国庆卫星地图

中国国庆卫星地图,点击查看大图。

DigitalGlobe发布南非世界杯十大场馆卫星地图

据读者刘超爆料,美国Digital Globe公司近日在其官方网站和Flickr上公布了2010年最新拍摄的南非世界杯10大场馆卫星地图,该图像由Quick Bird(快鸟)卫星提供,拍摄日期为2010年5月到6月之间,图片为高分辨率。

非常凑巧的是,今年三月份我去南非旅游的时候,在参观约翰内斯堡的“世界杯组委会”的过程中,也顺便路过了旁边的南非最大的球场―“足球城体育场”,当时对这个足球场没什么感觉,这次从卫星上观看,感觉印象和当初不太一样。

约翰内斯堡的足球城体育场(Soccer City Stadium)是南非最大的球场,球场可容纳94700人,南非世界杯的揭幕战和决赛都在这里举行。这是今年三月份我在南非约翰内斯堡拍摄的足球城体育场外观,足球场的外墙是由一个个赭红色和黄色相间的小块混杂组成的,体育场底部大片的赭红色则用来模拟一团团升腾的火焰。

约翰内斯堡的足球城体育场

足球城的外墙之所以用红、黄两种颜色的马赛克拼贴,主要是为了呼应“红色土壤中孕育的金山”。约翰内斯堡是世界上最大的金矿区,到处可见庞大的金矿开采区,远处那平平的“山坡”就是一个古老的金矿。

约翰内斯堡的足球城体育场

足球城外面有一个红色的大烟囱很是显眼,不知道是做什么用的,我就是根据这个大烟囱在Google Earth上确认了这个地点坐标(坐标: 26°14'1.14"S, 27°59'4.87"E)。

约翰内斯堡的足球城体育场

体育场旁边的这栋小楼就是南非世界杯组委会的办公场所。

约翰内斯堡的足球城体育场

当时是南非世界杯组委会主席里奇.科洪都(Rich Mkhondo)在办公室接待了我们访问团,他向我们介绍了南非世界杯的准备工作情况,并向我们表示南非犯罪率高的问题已经得到了很好控制,世界杯期间的安全将得到保证,可惜目前的事实似乎没有他说的那么乐观。

约翰内斯堡的足球城体育场

之后,他还在自己的SONY笔记本上给我们演示了一段刚刚做好的南非世界杯的宣传视频。

约翰内斯堡的足球城体育场

当时我从地面上看这个足球场好像不是很大,但从卫星地图上看,竟然发现这个球场是方的。

下面就是南非世界杯各个场馆的卫星地图,点击图片查看原图:

Soccer City Stadium - Johannesburg, South Africa

足球城球场(约翰内斯堡市)

足球城体育场又称FNB体育场(国家银行体育场),是2010年南非世界杯的主球场,它座落在约翰内斯堡的西南部索韦托区,与南非足协以及国际足联世界杯组委会相邻。足球城体育场于1987年落成,虽然只有20多年的历史,它却承载着南非人民无数的感情。经过翻新后,足球城体育场的容量将增至94700人。南非世界杯的揭幕战,决赛都将在这座非洲大陆最大的体育场内举行。除此外,这里还将承办其他四场小组赛、一场1/8决赛、以及一场1/4决赛。

Ellis Park Stadium - Johannesburg, South Africa

埃利斯公园球场(约翰内斯堡市)

在足球城体育场竣工之前,埃利斯公园体育场一直是这个国家的旗帜体育场。它处于体育公园的核心位置,邻居约翰内斯堡体育场(田径),渣打银行竞技场(网球),和一个奥林匹克游泳池。核心的位置,也足以证明该体育场不凡身份,在政治层面上,备受世界和平人士关注的曼德拉慈善赛曾在该球场举办过。而在体育运动层面上,去年这里承办了联合会杯,半决赛巴西与南非,以及决赛美国与巴西的比赛均在此举行。球场容量61000人。

Green Point Stadium - Cape Town, South Africa

绿点球场(开普敦市)

绿点体育场是南非为举办世界杯新建的五座球场之一。新建的绿点体育场位于桌山和罗本岛两大地标之间的“绿点”区,因而得名。本次世界杯将承办八场比赛,第一场将是乌拉圭队和法国队。绿点体育场可以容纳68000人。

Moses Mabhida Stadium - Durban, South Africa

摩西-马比哈达球场(德班市)

摩西-马比哈达体育场(德班体育场)是为了纪念前南非共产党总书记马比哈达而命名,和城市的排位一样,也是2010世界杯南非第二大球场,它的设计容量达到了70000人,仅次于足球城体育场。世界杯期间,西班牙、德国、荷兰和巴西四支劲旅将做客这里。

Free State Stadium - Mangaung / Bloemfontein, South Africa

自由州球场(布隆冯丹市)

布隆冯丹,荷兰语意为“花之泉”,是自由州省的首府,也是南非的司法首都。自由州球场就坐落于南非布隆冯丹市,是一座综合性体育场,1952年建成。由于电信巨头沃达康的赞助,自由州体育场也叫做沃达康公园体育场,拥有60多年的历史,也是南非国内历史最悠久的球场之一。为了迎接本次世界杯而修缮一新,座位从38000人已增加到48000人。

Mbombela Stadium - Updated, June 5th - Nelspruit, South Africa

姆博贝拉球场(内斯普利特市)

“姆博贝拉”是席瓦地语(南非11种官方语言之一),意为“很多人聚集在一个狭小的空间内”,这个形容非常恰当,姆博贝拉体育场容量只有46000人,是南非十座世界杯球场中第二小的体育场,这里承办的比赛也只有4场,且都是一些无足轻重的比赛。诸多强队中,只有意大利队将在此做赛一场。

Peter Mokaba Stadium - Polokwane, South Africa

彼得-莫卡巴球场(保罗瓜尼市)

彼得-莫卡巴球场是以出生在保罗瓜尼的著名反种族政治家彼得-莫卡巴的名字命名,是南非世界杯十座球场中最晚一个建成的,它是一座专业的足球场,于世界杯前夕竣工。这座新球场建造于旧的皮德斯堡球场附近,球场的设计灵感来源于当地的猴面包树,球场三面露天,另一面由钢结构构成的“干”承托了整个屋顶平面,预计可容纳46000人。莫卡巴球场距波罗瓜尼市中心仅有5公里远,非常适合观众观看比赛。

Port Elizabeth Stadium - Nelson Mandela Bay/Port Elizabeth, South Africa

纳尔逊-曼德拉湾球场(伊丽莎白港市)

这座球场就是以南非黑人领袖纳尔逊-曼德拉来命名的。曼德拉湾球场位于伊丽莎白港,这里是曼德拉的故乡。2000年12月,地方政府选举后合并周边两个城市,将其更名为纳尔逊-曼德拉湾市。由于更名时间并不长,伊丽莎白港和曼德拉湾市一直并用,所以该球场也被称为伊丽莎白港球场。球场可以容纳48000人。

Loftus Versfeld Stadium - Tshwane/Pretoria, South Africa

洛夫托斯球场(比勒陀利亚市)

洛夫托斯体育场是南非最古老的体育场之一,它建于1903年,三年后正式完工并投入使用,简称为东区运动场。1932年3月,比勒陀利亚体育协会创始人罗伯特-欧文-洛夫托斯意外病逝,自此以后,该体育场也被正式命名为洛夫托斯体育场。作为南非历史最悠久的体育场之一,洛夫托斯体育场先后承办过1995年橄榄球世界杯赛,1996年非洲国家杯赛。目前该球场可以容纳50000人。

Royal Bafokeng Stadium - Rustenburg, South Africa

皇家班佛肯球场(鲁斯腾堡市)

皇家班佛肯体育场位于西北省的皇家班佛肯邦行政首府,临近鲁斯腾堡市。该体育场始建于1999年,体育场以本地特有的班佛肯人命名,是一座综合性体育场。除举办足球活动之外,这里还可以举办橄榄球、以及其他综合体育运动。能容纳42000人。

背景资料:美国DigitalGlobe公司是Google Earth最高分辨率(解析度)的卫星影像提供商,DigitalGlobe影像由QuickBird卫星拍摄。QuickBird卫星于2001年10月由美国DigitalGlobe公司发射,是目前世界上唯一能提供亚米级分辨率的商业卫星,影像比其他的商业高分辨率卫星高出2—10倍。在中国境内每天至少有2至3个过境轨道,有存档数据约500万平方公里。

“天地图”卫星图像确认来自国外卫星

据新浪科技报道,10月26日晚间消息,国家测绘局今日就有网友对公众版国家地理信息公共服务平台“天地图”提出的有关质疑回答媒体提问。国家测绘局表示,“天地图”的自主知识产权主要体现在在线服务软件产品方面。在数据方面,矢量数据属于我国自主产权,卫星影像数据是通过商业合作的方式使用了来自不同商业卫星的影像数据,今后将会逐渐用我国自己的卫星影像数据取代。

以下为国家测绘局回答媒体提问全文:

1、 有网友指出,“天地图”使用的卫星地图并非具有“自主知识产权”。您怎样看?

“天地图”装载了覆盖全球的地理信息数据,这些数据以矢量、影像、三维三种模式来展现。

“天地图”中我国范围内的数据尤为详尽,数据源包括矢量数据,卫星影像数据。

其中,矢量数据是“天地图”数据资源的主体,来自国家测绘局、我国导航数据公司,包括全国省市、乡镇、村庄的交通、水系、居民地等;卫星影像数据主要来自国外商业卫星资源。

“天地图”的自主知识产权主要体现在在线服务软件产品方面。在数据方面,矢量数据属于我国自主产权,卫星影像数据是通过商业合作的方式使用了来自不同商业卫星的影像数据,今后将会逐渐用我国自己的卫星影像数据取代。这些商业卫星公司获取数据就是为了提供给各类用户使用的,事实上Google地图的部分影像也是从这些商业卫星购买的。现在有人说我们使用了Google地图的卫星影像,这是一种误解。

天地图

2、 对于“天地图”中数据更新问题,国家测绘局有怎样的打算?

“天地图”中的数据是依据统一的标准规范,由国家、省、市测绘行政主管部门和相关专业部门、企业采用“分建共享、协同更新、在线集成”的方式生产和提供。我们将制定数据管理、更新、服务管理办法,遵循“谁提供,谁更新;谁拥有,谁更新”的原则来进行更新。在突发事件或应急情况下,还会采取多种技术手段与方式实现局部数据快速更新。

与此同时,我们还会考虑开通“地图纠错”功能,充分发动互联网广大用户给“天地图”纠错,提高“天地图”数据的适时更新能力。

3、 针对网友对天地图是否为自主产权的质疑,中心曾回应应称,“天地图”卫星图像来自商业卫星,“天地图”自主知识产权指的是“服务软件”而并非“数据资源”。请问中国自主研制地图服务软件的意义?从软件技术上与类似类型的软件如Google Earth有何异同优劣?

国家测绘局组织建设国家地理信息公共服务平台的目的是加强基础地理信息资源开发利用,改变传统服务模式,由单一的提供地图、数据转变为在线提供地理信息服务。

开发地图服务软件是实现这种转变的技术基础,其意义体现在:

(1)测绘成果是国家重要的战略性信息资源,直接关系到国家战略安全。作为地理信息在线服务的支撑软件,必须采用我国自主知识产权的软件。自主研发地图服务软件,虽然在其初期会遇到诸多难题,但长远来讲,可以从根本上摆脱受制于人的窘境。

(2)虽然市场上已经有一些较成熟的国外商业软件,但从发展民族产业的角度,应该扶持我国自己的软件,进一步促进我国地理信息产业的发展。与此同时,采用我国自主研发软件可大大降低软件成本,节省资金投入。

(3)研发我国自主的地图服务软件符合国家倡导的“创新战略”。

“天地图”采用的在线服务软件系统是我国最早对外发布的具有网络三维虚拟地球特征的软件产品之一。与国外同类型软件相比,它不仅是网络三维虚拟地球的浏览系统,而且是地理信息共享与集成服务平台软件,具有以下鲜明特点:

(1) 具有与异构虚拟地球数据共享的能力,能够集成Google Earth、World Wind等多种类型的虚拟地球数据;

(2) 具有与专业地理信息系统集成与互操作的能力,可以实现与各种网络或者桌面GIS平台的无缝集成,广泛用于地理信息系统的专业应用部门;

(3) 与空间信息处理服务无缝集成应用,通过对空间信息服务注册中心的访问,实时获取服务元信息,在虚拟地球环境下实现空间信息服务链的构建、执行与集成应用,大大拓宽了地理信息应用服务的能力。

4、 天地图的应用前景?现在中国市场上是否有与之功能相似的地理信息服务提供软件?国家参与这项服务与商业服务的区别与优劣?

“天地图”是国家地理信息公共服务平台的重要组成部分,主要面向公众提供便捷的在线地理信息服务,同时面向政府、企业提供地理信息综合服务。

“天地图”的生命力在于应用,推广使用“天地图”,将有效避免重复投入,减少“信息孤岛”和“数字鸿沟”,有利于促进信息共享和高效利用。各级政府部门、有关单位在建设基于地理位置的政务信息系统或专题应用系统时,可以利用“天地图”提供的丰富地理信息资源和开发接口,整合、管理和发布本部门、本单位相关信息,避免地理信息数据重复采集。相关企业可以利用“天地图”直接构建业务应用系统或进行增值开发,推出更多的社会化地理信息服务产品,不断满足经济社会各方面的需求。社会公众可以通过“天地图”获得多尺度、多类型的地理信息,了解地理环境,规划旅游出行,制作个性地图,方便学习和生活。

“天地图”不是一个单纯的地理信息服务软件,而是秉承“分建共享、在线集成、协同服务”原则建立的地理信息汇集与服务平台。目前,中国市场上有一些地图服务网站,但没有与“天地图”定位类似平台。

“天地图”的建设坚持“政府搭台、企业唱戏”的产业化道路。初期由政府牵头组织开展地理信息资源整合,实现在线服务,未来“天地图”将在国家测绘局的引导、扶持、培育下,以现有“天地图”及其运行支撑环境为基础,由企业进行商业化运营,目标是让它成为一个中国乃至世界的互联网地理信息服务的民族品牌。

5、 天地图如何处理国家军事机密?

“天地图”中装载的数据来自于测绘部门的公开版数据和企业商业数据,均按照《公开地图内容表示若干规定》、《基础地理信息公开表示内容的规定 (试行)》、《导航电子地图安全处理技术基本要求》等国家有关规定进行了处理,其中包括对军事机密属性的处理。同时,还邀请国家有关部门对“天地图”的数据进行评估和会商。总体来说,“天地图”对涉密数据进行了处理,数据符合国家有关规定。

6、 天地图开放近一周来,访问量有多少?现阶段的主要用途在什么地方?

“天地图”(测试版)自2010年10月21日开通,根据网络监控系统的统计,21日至24日合计访问人数是4,651,078。访问来自198个国家和地区。

现阶段推出“天地图”(测试版)的主要目的是让大家了解“天地图”的定位与未来发展方向,同时让大家提出修改意见和建议。未来“天地图”将在国家测绘局的引导、扶持、培育下,以现有“天地图”及其运行支撑环境为基础,由企业进行商业化运营,目标是让它成为一个中国乃至世界的互联网地理信息服务的民族品牌。

谷歌推出博物馆艺术项目

据Google官方博客报道,Google与全球17家顶级博物馆合作,推出“艺术项目”(Art Project)网站,将地图街景服务延伸至博物馆内,该网站采用了谷歌街景地图的技术,提供在线虚拟游览体验,用户可在互联网上全方位“游览”整座博物馆,并了解相关知识。

已加入此项目的博物馆包括美国纽约大都会艺术博物馆、美国纽约当代艺术博物馆、法国凡尔赛宫、意大利佛罗伦萨乌菲兹美术馆、俄罗斯圣彼得堡冬宫博物馆、英国伦敦国家美术馆和荷兰阿姆斯特丹梵高博物馆等等。这些美术馆或博物馆提供超过一千件艺术品供浏览,例如梵谷的“星夜”与“卧室”,桑德罗.波提切利的“维纳斯的诞生”,林布兰的“浪子回头”与“夜巡”等等。

Google街景服务Art Project产品经理Amit Sood表示,艺术计划源于Google员工的80/20计划,由Google内部喜爱艺术的工程师以20%的自由发挥时间,经过18个月催生出这项服务,这将成为全世界爱好艺术、历史者有趣且具有独特意义的资产。

谷歌街景地图推出博物馆艺术项目

为了完成这个项目,谷歌为此专门研制了一种被称为“手推车”的设备,它在博物馆中四处奔走,拍摄超过385个房间的全景照片。用户可以像谷歌街景服务一样360度浏览各个博物馆的实景,甚至是天花板画饰和水晶灯等。

谷歌街景地图推出博物馆艺术项目

对于某些艺术作品,谷歌还与馆方合作,提供了高分辨率的图像供用户浏览,供用户查看以前难以察觉的细节。

谷歌街景地图推出博物馆艺术项目

用户可以放大影像细节,详细观赏画作笔触,人物神态,喜欢的作品可以收入个人收藏中反覆欣赏。

谷歌街景地图推出博物馆艺术项目

不同于穿梭在大街小巷的Google街景车或是专门在观光景点拍摄的三轮车,配合Art Project计划的室内拍摄需要,馆内实景都以街景小推车(Trolley)拍摄。

谷歌街景地图推出博物馆艺术项目

Google Art Project的宣传视频如下。

谷歌“艺术项目”(Art Project)网站地址:http://www.googleartproject.com ,目前该网站已被中国屏蔽。

百度经验上线

百度经验上线,该网站的主要内容为指导用户完成某些生活目标的经验文章,包括概述、工具/原料、步骤/方法、参考资料等几个部分,跟百度知道相比,百度经验主要解决用户“具体怎样做”,重在解决实际问题。

百度经验的文章的知识产权不明,百度在其使用协议里声称,“百度经验的用户不得侵犯包括他人的著作权、专利权在内的知识产权以及其他权利”。但是依旧可以发现百度经验里面的一些转载的文章并没有表明出处。百度称“由于用户发布的内容引起的任何知识产权纠纷,其责任在于用户本人,与百度经验无关”。可以看出,百度经验和百度百科一样,对于知识产权采取了漠视的态度,而一旦出了什么法律纠纷,或者碰上侵权的官司,百度则会把侵权的责任全部推在用户身上。

百度经验属于生活类的网站,主要分享生活中一些生活经验,主要解决的是用户“怎么做”的问题,帮助用户找到某个问题的解决方法,目前百度经验已经囊括时尚、旅游、美食、教育、医疗、社会、生活、母婴、汽车、电脑、游戏等多个领域,进一步丰富了百度的产品线,使得百度能在更大范围内覆盖网民的需求。

百度经验上线

百度经验和百度其他产品线的关系

百度经验和百度知识掌门人很相似,百度经验主要解决人们“怎么做”,知识掌门人则告诉人们某些东西“是什么”,相比百度经验来说,知识掌门人相当于理论,百度经验相当于实践。相对于百度百科产品来说,百度百科的信息更为客观和全面,属于多人协作编写,编写较为困难,而百度经验的条目则较为主观,写的主要是自己的各种生活经验,一个人即可编写,写作较为容易。和百度知道相比,百度经验的结构比知道更为标准,每一篇文章都有固定的格式,信息量较大,内容质量相对较高,而百度知道的信息则没有固定格式,信息量有的多有的少,内容质量参差不齐。

预计,随着百度经验的上线,百度的搜索结果的第一屏中又会多了一个百度经验的链接,百度又朝着站内搜索的方向近了一步,希望百度搜索再加把劲,争取在未来的某一天,能够做到用户搜索任何一个关键词,第一屏的信息都来自百度的系列网站,彻底提升中国用户的搜索体验。

百度经验网址:jingyan.baidu.com

百度首页改版测试

百度首页进行了小范围的改版测试,部分用户在百度首页登录之后,会发现首页下面多了一个新链接“在此添加您的最常访问网址”。

百度的首页通常变化并不大,在2007年的时候百度首页增加了“登录”和“空间”链接,后来又增加了“hao123”链接,这次改版则首次增加了自定义网址功能,实现了不同电脑之间的书签同步。

百度首页改版测试

使用百度帐号登录,点击“在此添加您的最常访问网址”这个链接后,系统会出现一个录入框,用户可以录入一个网址,系统会推荐一些常用的网站,如:奇艺、淘宝、人人网、新浪微博、豆瓣。

百度首页改版测试

添加好链接之后,百度的首页会变成类似以下的形式。用户在不同的电脑登录百度帐号后,都会在百度首页显示早先设置好的链接。

百度首页改版测试

这种类似网络书签的功能,百度搜藏已经可以实现,这次百度在其首页增加这种自定义网址功能,可能想让百度能成为更多人的个人首页,让那些不屑于使用hao123的用户能够在IE浏览器下方便访问自己常用的网站,对于Chrome和Firefox浏览器用户来说,其已经实现了自动同步,新建标签页会自动显示常用的网站,百度的这个新功能可能更多针对IE用户设计。

2012年6月27日星期三

使用Axis开发Web Service程序

今天是感恩节,差点又要在公司加班了。好在Web Service程序并不是特别难搞,下午终于在eclipse下调通过了,正确产生了服务器端和客户端的Java代码,apache的东西的确很不错。

说道Web Service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是Web Service,Web Service有很多优点,使用Web Service可以在不同编程语言间实现数据交换,而我那时对Web Service也不熟,就由同事帮我生成了一大堆Web Service的框架代码,我则只单独开发业务代码。

这次的另外一个项目也要用Web Service了,不过人手也少了,没有人帮做Web Service了,只好自己动手。

好在开发前,有个同事先给我们不熟悉Web Service的程序员进行了一些培训,我才知道原来以前的Web Service都是可以自动生成代码的,而且也不难,试了一个下午客户端和服务器端的Web Service代码就都调试通过了,真不错。

为了更多喜爱开发的程序员也能迅速了解Web Service的开发,我这里整理了一些通过Axis开发Web Service的一些要点,希望能让不熟悉Web Service的开发人员能够迅速掌握Web Service。

一、Axis环境的安装

1、安装环境 J2SE SDK 1.4,Tomcat 5.0,eclipse 3.2。

2、到 http://xml.apache.org 网站下载Axis安装包。

3、将Axis相关包文件放在WEB-INF\lib目录下。

4、Axis可选的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下,生成客户端时候需要使用。

Axis支持三种web service的部署和开发,分别为:

1、Dynamic Invocation Interface (DII)

2、Dynamic Proxy方式

3、Stubs方式

前两种方式我就不介绍了,同事告诉我他们自己都不使用前两种方式,他们建议我们使用Stubs方式,因此我就主要就介绍一下第三种方式。注意,我自己的Java源代码是放在D:\workspace\test\目录下,Axis相关包文件放在D:\workspace\test\WEB-INF目录下。

二、编写wsdd发布web服务,编写stub client访问web服务

1、编写服务端程序server,SayHello.java,编译server.SayHello.java

package server;
public class SayHello
{
    public String getName(String name)
    {
        return "hello "+name;
    }
}

2、编写wsdd文件

deploy.wsdd文件内容如下:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="SayHello" provider="java:RPC">
  <parameter name="className" value="server.SayHello.getName"/>
  <parameter name="allowedMethods" value="*"/>
 </service>
</deployment>

3、发布服务:

编辑一个deploy.bat,Axis_Lib为axis.jar路径。内容如下:

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd

执行这个批处理文件,这时候,如果提示成功的话,访问http://localhost:8080/test/services 就会显示服务列表。

4、生成客户端client stub文件

在浏览器上访问服务器端的服务,可以下载到WSDL文件,通过Axis的相关工具,可以自动从WSDL文件中生成Web Service的客户端代码。

编写一个WSDL2Java.bat文件,其内容如下:

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=server.SayHello
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% SayHello.wsdl

执行这个批处理文件就可以生成client stub.

生成的stub client文件列表为:SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.java .

5、编写客户端程序,编译并执行

下面是一段junit测试客户端代码。

import java.net.URL;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class TestWSClient extends TestCase {

    public TestWSClient(String string) {
        super(string);
    }

    public void SayHelloClient() throws Exception {

        SayHelloService service = new SayHelloServiceLocator();
        SayHello_PortType client = service.getSayHello() ;
        String retValue = client.getName("clientname");
        System.out.println(retValue);

    }

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTest(new TestWSClient("SayHelloClient"));
        return suite;
    }
}

至此,整个服务器端和客户端的Web Service框架代码就完成了,剩下的就是在里面加入你的业务代码了,怎么样,Web Service并不难开发吧。

基于JavaScript的REST客户端框架

现在REST是一个比较热门的概念,REST已经成为一个在Web上越来越常用的应用,基于REST的Web服务越来越多,包括Twitter在内的微博客都是用REST做为对外的API,先前我曾经介绍过“基于REST架构的Web Service设计”,并给出了一些服务器端和客户端代码,随着JavaScript的广泛应用,我这里就给出一个轻量级的基于JavaScript的REST客户端框架。

这个JavaScript客户端主要使用了XMLHttpRequest对象来实现通过HTTP对服务器操作GET、PUT、POST和DELETE以检索和修改资源。值得注意的是,由于安全方面的考虑,Javascript被限制了跨域访问的能力,因此在调用XMLHttpRequest的时候,应该注意跨域访问的问题,比如使用同一个域的动态文件做代理,或者其他方法避开跨域访问的问题。我这里给出的代码主要是根据我先前的那段代码修改过来的,其客户端JavaScript代码如下所示:

function httpGet(url, method, data) {
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open (method, url + "?" + data, false);
    xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.setRequestHeader ("Content-Length", data.length);
    xmlhttp.send (null);
    if (xmlhttp.Status = 200) return xmlhttp.responseText;
}

function httpPost(url, method, data) {
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open (method, url, false);
    xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.setRequestHeader ("Content-Length", data.length);
    xmlhttp.send (data);
    if (xmlhttp.Status = 200) return xmlhttp.responseText;
}

function httpPut(url, method, data) {
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open (method, url, false);
    xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.setRequestHeader ("Content-Length", data.length);
    xmlhttp.send (data);
    if (xmlhttp.Status = 200) return xmlhttp.responseText;
}

function httpDelete(url, method, data) {
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open (method, url + "?" + data, false);
    xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.setRequestHeader ("Content-Length", data.length);
    xmlhttp.send (null);
    if (xmlhttp.Status = 200) return xmlhttp.responseText;
}

function test() {
    document.write (httpGet("http://localhost/rest/service.asp", "GET", "do=GET"));
    document.write (httpGet("http://localhost/rest/service.asp", "POST", "do=POST"));
    document.write (httpGet("http://localhost/rest/service.asp", "PUT", "do=PUT"));
    document.write (httpGet("http://localhost/rest/service.asp", "DELETE", "do=DELETE"));
}

我这里使用这个代码编写了一个简单的应用例子,就是管理Twitter好友的应用,大家点这里可以下载使用,因为跨域访问的问题,这段JavaScript只支持IE在本地使用。

你有重构的勇气么?

项目发展到一定程度,因为功能的增多,就会变得越来越臃肿,原来的架构,就会不能满足现有的需求,因为我们有很多最初规划的时候没有想到的事情,比如说在网站或者软件规模小的时候,我们并没有考虑到国际化,但随着发展,我们走出亚洲奔向世界了,这个时候我们需要全世界的人来用我们的产品,这个时候就需要重构了。

有人会问,既然这样,为什么我们不在软件最初架构搭建的时候把这些东西都想进去呢?因为我们在产品的前期开发中,不会有这么多的人力财力投入进去。而且产品是慢慢进化的,不是一天想出来的,功能也会随着增多。还有一个个重要的原因,是技术不在停的进步,比如说原来没有OOP的概念,原来没有Web API的概念,原来没有AJAX的概念,所以我们可能会用一些老旧的技术。

公司的发展也是一种重要的原因,在企业发展初期,公司往往是怎么快怎么来,前期主要是活下来,先生存再生活,一大早就想开个哈里法塔是不现实的,罗马不是一天建成的。我记得曾经有个这样的老板,一个小小的创业型公司,就想着要把系统打造成日访问量500万独立IP的系统(他当时说的是并发500万,呵呵,因为他不懂技术,我认为他想的是日访问量500万),这明显是不现实的,因为一方面,你的团队没有这个能力来盖这么高的房子,迫其而为之,而你又不懂技术,最终得到的只是欺骗。另一方面,我们退一步说,就算你真的有这样的团队,也没必要把资金浪费在这种不靠边的事上。除非你真的经过沙盘推演,有足够的信心和钱烧,让访问量很快达到这个水平,不过我觉得一个创业型公司达到500万独立IP不是一个很容易的事情。

很多公司基本上是这样,在初创的时候,也没有统一的规划,找人是怎么便宜怎么来,结果可能是找一帮实习生来干的活,造成一个项目什么语言都有,完全没有OO的概念,比如我曾经在搜房呆过几天,他们的代码就是如此,Asp.Net的代码完全写在aspx的页面里,一行代码望不到头,没有文档。软通很多的项目也是如此。所以很多时候,你别看公司很大,其实他们的IT项目也不规范,因为真正规范起来的成本还是很高的,前期成本非常高。

扯了这么多,我们该说说重构了,当项目一而再再而三地修改的时候,大家都会很烦,新手可能习惯Ctrl+V和Ctrl+C,我是最痛恨这种行为的,我本身比较懒,只要是在两个地方或者可能会在两个地方出现的代码,我就会提炼出来。面对着一团乱麻的代码,或者技术已经相当落后了的时候,我们就需要重构,重构是需要勇气的,我们需要去说服决策者,这很不容易,因为很多时候决策者不懂技术,你忽然说要重构就意味着大笔的投入,而对于决策者来说,投入就意味着要产出,这个时候技术负责人会面临着很大的压力,很多技术负责人会卡在这里,停滞不前,或者是采用折中的办法。

我们技术负责人应该就决策者关心的事情和他谈,就是投入与产出的问题,这个是决策者都最想知道的问题,如果你能清楚地告诉决策者,投入一千万可以赚下(或者省下)五千万,那么我想他会考虑这个事情,但技术负责人往往不擅长于谈判,或者是说责任心不足。

或者我们可以这样,把过去一年中,在IT中的投入列出,告诉决策都有哪些是通过重构生避免的,同时把过去一年中的机会列出,告诉他如果我们重构生哪些机会可以把握住。

然而,是所有的项目都需要重构么?项目重构都会成功么?未必!但是——我们需要有勇气打破僵局,不破则不立,当原有的系统已经不能满足现在的需要时,我们就打破它,建立一个新的规则。

来源:涂雅投稿,原文网址,转载请保留此链接,否则视为侵权。

Google Earth能否实现“卫星实时监控”

cnBeta上看到一篇CCTV的新闻,说北京一公司竟然能用卫星实时监控找车,而在电视上看到的画面,使用的软件显然是Google Earth(视频地址收看[附解说词]视频地址2),这可能令很多人感到惊奇,那么,Google Earth到底有没有“卫星实时监控”的能力呢,让我们从Google Earth软件本身来分析一下。

新闻频道《新闻社区》栏目播出了的北京某公司利用卫星地图寻找“老赖”车辆的新闻报道说,北京某公司的经理每天都会通过卫星定位,来寻找那些老赖车。新闻中出现的卫星追踪画面实际上是来自于Google公司的Google Earth软件,而Google Earth软件根本无法实现高精度和时效性的追踪。

根据Google Earth的官方主页上的介绍,Google Earth目前有四个版本。每个版本的功能如下:

一、Google Earth Free

第一个版本是免费的Google Earth(Google Earth Free),也就是我们大家手里用到的,使用最为广泛的Google Earth,这个版本的Google Earth只具有最基本的功能,供所有人免费使用。大家在使用的过程中也肯定知道,里面的图像大多是2、3年前的图像,几乎找不到几个月前的图像,更不用说“实时监控”了。

二、Google Earth Plus

下一个版本是Google Earth Plus(年费20美元),这个版本拥有更多的功能,例如更快的网络访问速度,实时GPS(Global Positioning System,全球定位系统)追踪引入(将GPS设备中的数据引入到Google Earth中,不支持引出到GPS中),更高打印分辨率,邮件技术支持,电子表格引入。

Google Earth Plus的GPS追踪,只是通过GPS设备,将这个定位地点输出到Google Earth中,使得在Google Earth中可以定位到这个GPS设备坐标。这类似我以前说的手机车载GPS设备。显然,这个功能并不能返回实时的卫星地图。

车载GPS设备

三、Google Earth Pro

第三个版本是Google Earth Pro(年费400美元),这个版本可以免费试用7天,通过试用我们发现,Pro版的影像清晰度(分辨率)和Free版没有任何的不同,两者的影像数据是相同的。Pro版本除了具有Plus的功能之外,还拥有更高的打印效果,可以输出高质量的图像文件,更多的商业图层,可以应用与房地产、保险等各种商业领域。

四、Google Earth Enterprise

最后是Google Earth企业版,可以将Google Earth应用与企业内部系统,将Google Earth数据结合进企业ASP(Application Service Provider,应用服务提供商)使得企业的运作更高效。

以上是Google Earth的四个版本的软件,我们可以看到,每个产品都没有“卫星实时监控”功能,从常识上讲,“卫星实时监控”已经具有极高的军用价值,肯定为各国军方掌握,不可能将其流传入民间,更不可能让人免费使用。CCTV的这段新闻缺少基本的常识,偷换概念,属于标准的假新闻。

2012年6月25日星期一

电子商务常识整理

这是个人整理出来的电子商务常识,难免浅薄。里面有很多是和网络营销相关的知识,因为电子商务和网络营销联系太密切了。电子商务三流之中的物流和资金流,因为了解还不多,没有把它整理出来。比较有价值的常识在文章后半部,请耐心阅读。

电子商务介绍:

概念:电子商务,英文名Electronic Commerce,简称EC。

电子商务模式(常见类):

B2B模式,Business to Business-企业对企业,例子:阿里巴巴,生意宝(网盛科技)、慧聪网。

B2C模式,Business to Customer-企业对个人,例子:亚马逊,当当,凡客,时尚起义,走秀网。

C2C模式,Customer to Customer-个人对个人,例子:ebay,淘宝,拍拍,易趣。

电子商务

电子商务专业名词(常见类):

SEM:Search Engine Marketing的缩写,意即搜索引擎营销。

EDM:Electronic Direct Marketing的缩写,就是电子邮件营销。

CPS:Cost Per Sales的缩写,即销售分成。

CPA : Cost Per Action,每次动作成本,即根据每个访问者对网络广告所采取的行动收费的定价模式。对于用户行动有特别的定义,包括形成一次交易、获得一个注册用户、或者对网络广告的一次点击等。

CPM:(Cost Per Mille,或者Cost Per Thousand;Cost Per Impressions) 每千人成本。

CPC:(Cost Per Click;Cost Per Thousand Click-Through) 每点击成本。

ROI:Return On Investment的缩写,投资报酬率。

SEO:Search Engine Optimization的缩写,搜索引擎优化。

转化率:Conversion Rate的缩写,是指访问某一网站访客中,转化的访客占全部访客的比例。

UV:Unique Vister的缩写,独立访客。

AdWords:Google的关键词竞价广告。

Alexa:Alexa.com是专门发布网站世界排名的网站,网站排名有两种:综合排名和分类排名。

二跳率:二跳率,由99click最先提出,网站页面展开后,用户在页面上产生的首次点击被称为 “二跳”,二跳的次数即为”二跳量”。二跳量与浏览量的比值称为页面的二跳率。

跳出率:跳出率是指浏览了一个页面就离开的用户占一组页面或一个页面访问次数的百分比。

人均访问页面: PV总和除以IP,即可获得每个人平均访问的页面数量。至少人均访问页面需要超过10个以上,才算是优质的用户。

电子商务商务常见营销方式:

1.网络媒体:门户网站广告,客户端软件广告。

2.SEM:竞价排名,联盟广告。

3.EDM邮件营销:内部邮件群发,第三方平台,数据库整合营销等方式。

4.社区营销:BBS推广(发帖和活动)SNS。

5.CPS\代销:销售分成(一起发,成果网,创盟)。

6.SEO:搜索引擎优化。

7.积分营销:积分兑换,积分打折,积分购买等。

8.DM目录:传统单张目录,如麦考林,红孩子,凡客,PPG。

9.线下活动:会展,体验店等。

10.传统媒体:电视电台,报刊杂志。

网络营销主要机构:

3大在线媒体广告代理服务商:好耶,华扬联众,龙拓。

3大在线营销创意服务商:奥美互动,阳狮互动Digitas,安瑞索思。

3大网络联盟广告服务商:亿码(一起发),linkTech,alimama。

3大小企业的基础性在线营销服务商:中企动力,上海火速,深圳时代赢客。

3大网络公关公司:蓝色光标,宣亚公关,新华美通。

3大SEO服务商:王通,点石团队,新竞争力。

3大营销2.0机构:陈格雷,陈墨网络推广机构,浪兄推广机构。

用数字衡量网络营销效果:

--网络营销效果可以100%以数字来衡量

1.访问页面:网络推广的访问者访问 5个页面以上才是有效流量。访问10个页面以上是高质量的流量,访问2个以下页面是垃圾流量。

2.停留时间:超过3分钟才是有效流量;超过6分钟是高质量流量;小于1分钟的是垃圾流量。

3.二跳率数据:推广来主页二跳率70%以上是高质量流量。

4.转化率数据:推广购买转化率为1%以上为高质量流量。

网络营销需要辩别好:真实流量与流量,有效流量与流量,自然流量与购买流量,PV高的流量与PV低的流量,商业流量与娱乐流量。

如何用数字判断一个网站:

1.访问量:alexa,chinaz查询工具。

2.网络流行度:搜索网站名,搜索结果越多相对来说越流行。

3.行业排名:查询艾瑞的排名。

4.网络新闻曝光率:用baidu新闻搜索。

5.SEO表现:收录与PR,排名。

6.百度指数:百度指数是用以反映关键词在过去30天内的网络曝光率及用户关注度。

7.每天新增注册用户数=UV*1%=80000*1%=80

8.活跃用户=注册用户/10=100000*10%=10000

9.最高同时在线=活跃用户*20%=10000*20%=2000

10.收费交易客户数=活跃用户*5%=10000*5%=500

11.销售额:收费交易客户数*商品平均价格200=10000

按照以上方法看不到对方内部数据也能大致判断这个网站很多数据。

来源:focusec投稿,原文链接

浅谈邮政做电子商务

北京商报的新闻说:中国邮政旗下邮礼网网站的一则公告,让邮礼网成为了今年首家关闭的网站。根据公告,邮礼网网站将进行战略调整,邮礼网将于2月1日封网改造停业。如消费者有未兑换完毕的邮礼卡或账户余额,请在1月31日前将账户上的金额全部兑换完毕。

这条新闻已经被很多网站转载,但是让人感到莫名其妙的是在官方网站已看不到这条公告。倘若媒体看过公告,那么原因可能是因为影响问题,把公告撤下了。但是善后的公关做得不足,让人感觉这像一场“谣言”,但官方又不澄清,不澄清就坐实“谣言”了。

本来网站改版是正常事,但是将正常之事搞得不正常,这确实是做事的理念异常不同,邮老大一派的风骨不是寻常商家能效仿的,要这样折腾可能是想都不敢想。对此,笔者的看法如下:

从邮礼网停运看邮政做电子商务

国企老大的硬派风格

出自邮老大这种巨头国企,想必是不差钱吧?做B2C商城,看网站底部的广告牌显示服务热线只提供到下午六点半,但是联系页面又说是晚上八点,这种重要的服务承诺怎么会是两个标准?下班了,恕不谈生意,有钱也不赚?不知员工是否全属国企员工,人人都有铁饭碗,没人愿意加班?如果没人愿意加班,那么将咨询热线外包出去不就是做到了24小时热线吗?

与众不同的商业常识

举凡商业的同类竞争网站,A网站和B网站换友情链接只会是相互交换,要不就是付费买链接。但是邮礼网是主动做单向链接的,免费将自己网站的访客送到竞争对手的网站——淘宝网、邮乐网、拍拍网、易趣网、当当网、卓越网、红孩子、凡客诚品、乐酷天、京东商城……

对商业逻辑需要深入认识

每天都是节日,为何没有做好团购?节日并非只有春节、中秋才送礼,要知道每天都是节日,一年365天,天天都有人过生日,每天都能做生日团购——每天大概平均三四百万人过生日,这种团购的切入点就是你邮礼网最应该做的。做生日团购,可让参加者自愿将祝福做成祝福墙,一是可在网站展示,二是可制作生日贺卡,让大家看到同一天过生日的祝福。这种一起过生日的节日文化一是能形成卖点,二是能形成口碑传播,三是有利于将生日团购做成可持续化的生意,不像春节团购要待到明年。

对社会化媒体营销不重视

邮礼网是做礼仪平台,切入点一是形象,二是关系。形象和关系这两点都能直接对应社会化媒体营销。例如,邮礼网在2010年1月15日上线,在1月 15日注册新浪微博,一年过去,截止目前发了9条信息,关注47人,粉丝7人。在新浪微博一搜索邮礼网就是谈停运,这就是悲剧了!用新浪微博的API做个礼仪的微博应用多好,自己有商城,也能将流量转化为生意。你就是在微博做送礼顾问也好,让大家@邮礼网 给女朋友送什么礼物好?回复信息,加个礼物购买链接,这不就是生意吗?

作者:简哲;原文链接

2012年6月24日星期日

微软正式推出IE 8浏览器

今天,微软宣布全球发布Internet Explorer 8.0浏览器,包含简体中文版。微软称该浏览器性能优异、网络研发工具便捷,并提高了安全性和可靠性。IE8的新特性包括隐私浏览模式、更先进的地址栏和搜索栏,更好的标签处理。

IE 8.0是微软发布的符合行业标准的浏览器,受益于该公司与标准组织合作,IE 8.0的标准性有所提高。作为承诺符合行业标准的一部分,微软在去年向W3C组织递交了7000多次CSS 2.1 测试,以推动所有开发者采用更便捷、更可测的标准。此外,IE 8.0还通过了比其它在售浏览器更多的W3C CSS 2.1测试,并为支持HTML 5倾尽全力。

早先,微软曾经自夸称,经过微软自己的测试,IE 8加载网页的速度是Firefox的三倍,并且比Chrome快33%。不过,微软的测试结果和以往第三方机构的测试结果大相径庭,以前大多数测试结果表明IE 8的性能大幅落后于Firefox和Chrome等浏览器,尤其对于JavaScript渲染测试结果Google Chrome至少比微软的IE 8要快5倍。

IE 8.0官方下载地址(含简体中文版):http://www.microsoft.com/windows/internet-explorer/default.aspx

央视称谷歌赞助商链接存在虚假医药广告

CCAV在曝光百度虚假医药广告后,再次发飙,称谷歌等其他搜索引擎的广告也存在非法广告,央视12月11日《朝闻天下》栏目播出了“搜索引擎赞助商链接虚假售药信息”的节目中,不点名的指责某些搜索引擎的广告存在违法广告,需要监管。

该节目称,在很多的搜索引擎网站上,除了左边的自然搜索外,搜索网站右边通过付费而出现的广告内容,通常被标注上“赞助商链接”的标志。按照规定,所有的赞助商链接都必须要经过严格的审查,但央视记者近日调查发现,很多搜索引擎所链接的赞助商网站里却有着不少的问题。

我认为,央视其实有必要检查一下自己的电视购物频道,如果央视自己能够管理好上面的欺诈广告,那才有资格进行审查和监管。

以下是该节目的视频。

博客2008年度数据统计和排行

2008年就要过去了,我的这个Blog也马上就要进入新的一年。在过去的2008年中,根据我的统计,我发布了447篇文章(比去年少2篇,平均每天1.2篇),一年中得到了28,829篇评论,78条引用,全年文章浏览数为3,293,169次,至今为止总浏览数为23,140,157(据Z-Blog自带的统计,只统计文章点击数)。RSS Feed订阅数约为115,569(FeedSky)+10,451(FeedBurner)=126,020 。

热门文章的统计,选出一年中最好的文章是非常困难的,我这里就列一下根据统计得出的每月热门文章和热门评论文章。

去年月度热门文章是:

2008年1月

2008年2月

2008年3月

2008年4月

2008年5月

2008年6月

2008年7月

2008年8月

2008年9月

2008年10月

2008年11月

2008年12月

去年评论最多的十篇文章是:

本博客统计是由我写的“Z-Blog年度博客统计插件”统计而得,Z-Blog用户可以使用,WordPress用户可以使用我写的另一个插件“WordPress年度博客统计插件

从7LOG迁移到Movable Type

最近以来我在修改7LOG的程序上遇到很多麻烦,其代码改起来不是很好修改,而作者本人似乎也消声觅迹,不见踪影了,连其主页都被干掉了,看着需要添加的功能越来越麻烦,真的想去换到另外一个博客程序Movable Type了。

为什么要迁移到Movable Type,原因很多。其一,MT是全世界使用最多的BLOG,资源很丰富。其二,MT发布的是静态文件,占用系统资源少,服务器的负荷也小。其三,虽然WORD PRESS也有Permalink仿真静态文件,但并没有降低系统负荷,而且在IIS环境下无法使用REWRITE功能,也并不是所有主机都开放REWRITE功能的。

从7LOG可以平滑地迁移到Movable Type 3.17版本,并可以保证URL的延续性。当然Movable Type的默认配置下是不能完成的,首先修改LIB/MT/UTIL.PM文件的684行,将"%06d"去掉,修改745行的"cat"可以变更目录名称。使用“Use Old-Style Archive Links”,然后再发布一次看看,是不是产生的文件名称和地址与7LOG的一模一样。感叹:Movable Type的代码写的实在太健壮了,可维护性实在太好了。

下面是从7LOG转换到Movable Type的SQL语句:

-- 导入文章

INSERT INTO mt_entry(entry_id, ntry_blog_id, entry_status, entry_author_id, entry_allow_comments, entry_allow_pings, entry_convert_breaks, entry_category_id, entry_title, entry_excerpt, entry_text, entry_text_more, entry_to_ping_urls, entry_pinged_urls, entry_keywords, entry_tangent_cache, entry_created_on, entry_modified_on, entry_created_by, entry_modified_by, entry_basename) select id, '1', '2', '1', '1', '0', '__default__', sort,title,'',resume,content,NULL, NULL, NULL,NULL, date,'20050622034340',NULL, NULL,id from blog_topic order by id

-- 导入目录索引

INSERT INTO mt_placement(placement_entry_id, placement_blog_id, placement_category_id, placement_is_primary) select id, '1', sort, '1' from blog_topic order by id

-- 导入评论

INSERT INTO mt_comment(comment_id, comment_blog_id, comment_entry_id, comment_ip, comment_author, comment_email, comment_url, comment_commenter_id, comment_visible, comment_text, comment_created_on, comment_modified_on, comment_created_by, comment_modified_by) select id, '1', topic_id, ip, author, email, '', '', '1', content, date, '20050622061716', NULL, NULL from blog_comment order by id

最后发布的字体在中文环境下并不是很好看,可以修改styles-site.css文件,将font-size: x-small修改为font-size: 12px。
 

如何选择国外虚拟主机空间服务商

几经辛苦,终于把自己的主页给设计完成好了,那么下一步就是得为自己的网站在网上找一个家了。现在的互联网上的免费午餐似乎已经被大家吃过了头,做互联网已经很艰难了,更何况是更花钱的免费,所以,现在大家的面对现实了。

现在免费的主页空间已经很难找了,大多已经是停止新的注册的,而且免费的主页大多会有许多限制,比如在空间,上传,访问量上等等。我的个人意见是在网站完成的差不多的时候,最好能找到一个免费的主页空间来测试自己的网站,比如连接啊,效果啊等等,到真正完成的时候再找一个付费的。

下面的内容只是我在建设我自己的和公司网站中关于国外虚拟主机空间 (IDC)选择的一些心得,都是付费的,如果你打算还是选择免费的虚拟空间的话,还是到互联网上搜索一下,或者是到论坛里面去问一些老鸟吧。

一、量体裁衣,够用即可

在选择国外虚拟主机空间提供商之前,必须得为自己做的网站有一个全面的认识。首先应该从内容和定位来考虑未来的访问量,如果是个人的或者是公司的,访问量应该预计在一定的范围内,然后从访问量来选择需要的带宽和服务商提供的主机配置,太高了就会造成浪费。其次,是空间和服务的选择,在我看来如果不是使用数据库技术访问的网站, 空间在50M 之内应该是够用,我看到许多服务商在最基础的服务上都会提示自己说提供起码100M的空间,实际上如果自己网站不包含数据库或者大型的图库,那100M的空间可以说是浪费了许多,当然在考虑空间的时候得全面考虑到以后的更新,换版之类的事情,因为一旦确定了空间,那就表示以后没办法升级了,只能在空间范围以内使用。最后要考虑的是服务商,在上面的基础上,从收费和域名上选择,对于是否注册域名还是选择子域名,我的看法是尽量注册国际域名,毕竟便宜,如果是国际域名已经被人注册了就用国内的,但是最好不要注册中文或者是其他的什么.biz,.cc之类的,它们在普及和域名解释上还会有或多或少的问题,如果是个人网站的话,可以考虑选用子域名,毕竟网易或者是中国学生网之类的由原先免费提供转变的服务商,在收费上对于个人网站来说也是个很好的选择。

二,货比三家,不怕麻烦

相信许多人在确定了自己的需要之后,在寻找提供满足自己需要的服务商上却头疼不已。要么服务商提供的服务对自己来说有点浪费,要么就是在价格上自己没办法接受。我的原则网站首先要保证的连接速度和稳定,在比较完国外虚拟主机空间服务商上的价格后,最好去他们的一些客户的网站上看看,通过他们的客户的连接速度来观察他们服务质量,如果是服务质量上比较差的国外虚拟主机空间服务商,不仅会在连接上比较慢,有时候还会经常出现域名解释上的错误,所以,观察他们的客户和到论坛上交流是很必要的。在最后确定了一两家服务商后,那么要做的事情就是如何和他们联系了,可以直接打电话或者写信来联系,比如多点咨询他们的服务条款,服务内容,还可以在价格上讨价还价,因为现在许多大型的国外虚拟主机空间服务商为了扩大他们的收入,总是会有许多代理商,譬如通过广告的形式,吸引一些个人网站来为他们招揽客户,还有不少的个人网站也是他们的直接代理,而且代理上的价格可能还会便宜,但是,我不推荐使用代理,因为通过代理来服务,毕竟中间多了个环节,如果以后出了问题,解决起来更麻烦,不过,既然出现了代理,那说明跟最终的服务商打交道的时候就有了讨价还价的余地了,所以最好是多写信,多讨价还价相信最后都会有少少的优惠,在这里,不妨试一试下面的两招,第一招:说你在代理上看到价格是多少,或者是其他服务商的价格又是多少,在看看它的代理条款(看看给代理的价格是多少,好让自己可以了解他们的底价是多少。第二招:可以拿一些其他的东西来吸引你的国外虚拟主机空间服务商为你优惠,譬如说你准备使用它两三年(而实际上先付一年的费用),或者说你想成为他们的代理,还可以说你可以介绍你的朋友做为他的客户等等。这两招一出,一般都会获得不少的好处,至于能捞到多少就得看你的本事啦。

三,微小细节,不可错过

好了,经过一番努力后,终于最后确定了你的国外虚拟主机空间服务商了,这时候就到了交钱交货的阶段了,这时候,一定要注意一些细节问题,譬如仔细研究你收到的服务条款,自己书写好你的注册信息,确保你的信息是准确正确的。在付款之后一定要保存单据,在收到密码要尽量更改好密码。这些细节小事应该注意到,以免以后出现麻烦。

四,选择信誉好、有品牌保证的服务商,不要为了便宜几块钱选择一个在行业里面一点知名度也没有的国外虚拟主机空间服务商。

  好了,关于心得我就写到这了,希望大家都能为自己的网站找到一个温馨的“家”,也欢迎大家有空来我的月光博客坐坐,也欢迎大家写信跟我交流经验。

作者:佚名 来源:网络

教你七招,轻松挑选出一款优秀的网站空间

做为一个网站的站长说。最头疼的就是找一个好的空间来放自己的网站。看着别人的网站运行如飞,而自己的网站却慢如蜗牛,站长们的心理不知做何感想。除了后悔和懊恼我想剩下的也只有拿个弹弓打空间商家的玻璃的份了。而现在的空间租用一般都提供了免费试用,(有的网站不提供免费试用?那还去干什么。小心钱投进去就没有的回来啦)下面我将从几个方面来讲诉如何在试用期间测试出自己的空间到底能有多大的能力来承载我们的网站。

一:网站反应能力

用网络上的网站反应能力测试软件

大中华宽带网有一项网站反应能力测试服务。免费的在线测试让你在购买之前给自己先下一颗定心丸。http://www.linkwan.com/gb/broadmeter/speed/responsespeedtest.htm 上面的地址就是测试地址。在网站测试里,输入空间商免费赠送的三级或二级域名。点击测试。如果访回值大于0.40秒。这样的空间绝对不能拿来做网站。小于0.40到0.10这样的网站是中等水平。马马虎虎还可以啦。小于0.10到极快。那么这样的空间你可千万不要错过了。这可是你的上上之选哦。

二:用一些ASP指针来探测你的空间支持哪些东西。

现在大部分都在使用阿腁SP探针。将这个文件上传到你的空间里。在浏览器里选择:http://你的域名/文件地址/文件名。然后回车。你可以看到这个网站的详细支持哪些功能。最后也还有一项服务器能力测试。个人觉得那个没有多大用处。例如我曾用这个指针来测试我自己的电脑。P4-2.6C超频至3.18G。DDR400-1G的内存,技嘉875(8KNXP)主板。居然测试结果还不如我的另一台电脑P4-1.8A超频到2.88。DDR333-512M内存。技嘉845PE-800主板。狂晕。

三:用DOS命令来简单的测试网速。

Ping

Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令。Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。

如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。

命令格式:

ping IP地址或主机名 [-t] [-a] [-n count] [-l size]

参数含义:

-t不停地向目标主机发送数据;

-a 以IP地址格式来显示目标主机的网络地址 ;

-n count 指定要Ping多少次,具体次数由count来指定 ;

-l size 指定发送到目标主机的数据包的大小。

例如当您的机器不能访问Internet,首先您想确认是否是本地局域网的故障。假定局域网的代理服务器IP地址为202.168.0.1,您可以使肞ing避免202.168.0.1命令查看本机是否和代理服务器联通。又如,测试本机的网卡是否正确安装的常用命令是ping 127.0.0.1。

Tracert

Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。

命令格式:

tracert IP地址或主机名 [-d][-h maximumhops][-j host_list] [-w timeout]

参数含义:

-d 不解析目标主机的名字;

-h maximum_hops 指定搜索到目标地址的最大跳跃数;

-j host_list 按照主机列表中的地址释放源路由;

-w timeout 指定超时时间间隔,程序默认的时间单位是毫秒。

例如大家想要了解自己的计算机与目标www.netbei.com之间详细的传输路径信息,可以在MS-DOS方式输入tracert www.netbei.com

如果我们在Tracert命令后面加上一些参数,还可以检测到其他更详细的信息,例如使用参数-d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。

在Microsoft的Windows 95及其以后的操作系统中,都可以运行以上命令。

四:用上传和下载文件的方式来测试

上传下载文件速度的快慢直接反应了这个空间的硬盘转速和性能。大家可以使用多线程下载工具来试用下载。用上传软件上传时一定要选择用多线程来上传。其实大家都知道。网站的速度瓶颈不在CPU和内存,而是硬盘。同等时间内上传下载速度越快,空间的反应能力就越好。

五:尽可能的选择支持泛域名的空间

什么叫泛域名呢?例如无论 你打abc.netbei.com还是wqisfe.netbei.comwww.netbei.com访问的地址如果都可以那么你这个空间就支持泛域名,支持泛域名有什么好处呢?嘿嘿。你可以给你的网友做免费二级域名嘛。当然以上的前提要求你自己的DNS管理中要可以支持泛域名解析。另外你也要绑定你的泛域名到你的空间地址。绑定泛域名的格式为*.netbei.com到某个IP地址。泛域名解析中为将*.netbei.com解析到空间地址。如果你现在的DNS解析管理中不支持泛域名解析你也可以用转移DNS的方法来进行泛域名解析。

六:IIS和网络流量(带宽)以及CPU占用率的概念

我们在申请空间的时候经常看到限制多少IIS。网络流量和CPU占用率为多少。其中的IIS连接限制就是说同时连接到你这个空间的数目是多少。如果是100。那么你的网站只允许同时在线100人。网络流量是指你的网站每秒能通过的数据量。如果是每秒1M就代表这1M是你每秒的网络数据量。只有你一个人用这个网站的时候你下载文件理论上可以达到1M的速度。其实这在大部分情况下是不可能的。一般都是100M共享。这个数据值是越大越好。CPU占用率,虚拟主机是一个真实的主机划分成若干块来运行多个网站。这个真实主机的CPU占用率最高一般只能达到7%,超过这个数字轻则造成电脑速度奇慢。重则死机,硬件损坏。所以每个虚拟主机都会限制CPU的占用率。占用率越高网站运行越稳定。

七:服务质量和操作的简易性

其实这算是次要的东西了。所以才放到最后来说。如果前面几条都能保证很好的运行。那基本上这条都可以考虑跳过不说。这个只有靠你自己的眼光来确定了。一般来说,耐心越好的网站服务质量就会越好,你可以试着没事找事的给他提些问题来看这个网站的工作人员的耐心如何。当然这是在试用期间做的事情。

作者:佚名 来源:网络

Z-Blog 1.4 SP2全静态补丁和插件下载

今天花了些时间将ZBLOG升级到1.4 SP2,静态化补丁插件也同时升级到SP2。

静态化补丁代码部分的变化还是只修改了c_system_event.asp和c_system_lib.asp两个文件,同时提供的PLUGIN功能新增加两个文件,说明文件一个。因此一共是五个文件。

使用和安装这个补丁很简单,先下载Z-Blog 1.4 SP2正式版,然后下载Z-Blog 1.4 SP2月光静态版补丁,注意此补丁只能在这个版本上使用,不要在其他版本上使用。将补丁里的两个ASP文件覆盖到原版目录下,catbuild目录放到PLUGIN目录下即可。

一般用户使用下面3个操作就可以安装好静态化补丁:

1、下载原版Z-Blog 1.4 SP2

2、下载月光静态化补丁1.4 SP1。将其中2个文件覆盖原版文件。同时安装PLUGIN。

3、重新进行文件重建操作,然后进入“插件管理”,点击“静态分类目录文件生成”。

此时Z-BLOG的目录文件就被静态化了。

手工修改

如果你的ZBLOG是自己修改过的版本,那么可以使用下面的操作手动进行静态化修改。其操作较为复杂,不建议使用。

c_system_event.asp 文件修改:

651行修改为:

strArchives=strArchives & "<li><a href="""& ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & Year(dtmYM(i)) & "_" & Right("00"&Month(dtmYM(i)),2) &  "." & ZC_STATIC_TYPE & """>" & Year(dtmYM(i)) & " " & ZVA_Month(Month(dtmYM(i))) & " (" & objRS(0) & ")" +"</a></li>"

1646-1649行修改为:

s=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m-1),2) & "." & ZC_STATIC_TYPE

t=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m+1),2) & "." & ZC_STATIC_TYPE

If m=1 Then s=ZC_STATIC_DIRECTORY & "/" &(y-1)&"_12" & "." & ZC_STATIC_TYPE

If m=12 Then t=ZC_STATIC_DIRECTORY & "/" &(y+1)&"_01" & "." & ZC_STATIC_TYPE

1652行修改为:

strCalendar=strCalendar & "<p class=""y""><a href="""&ZC_BLOG_HOST &s&""">&lt;&lt;</a>  <a href="""& ZC_BLOG_HOST &ZC_STATIC_DIRECTORY & "/"&y&"_"&right("00"&m,2)& "." & ZC_STATIC_TYPE&""">"&y&"·"&m&"</a>  <a href="""&ZC_BLOG_HOST &t&""">&gt;&gt;</a></p>"

c_system_lib.asp修改:

110行修改为:

Url = ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & "cat_" & ID & "." & ZC_STATIC_TYPE

1355行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page=1"

1374行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& i

1376行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& intAllPage

如果有不愿意手工修改的,就直接下载下面的文件覆盖就可以了。

2012年6月23日星期六

Google Sitemaps使用指南

Google Sitemaps是Google的一个和网站管理员相关的工具,有点象BLOG的RSS功能,是一个方便自己的服务,如果大家(互联网上所有的信息源)都采用了这种方式提交自己的更新的话,Google就再也不用派出那么多爬虫辛辛苦苦的到处乱窜了,任何一个站点,只要有更新,便会自动“通知”Google,方便Google进行索引。

初步使用了一下Google Sitemaps,用法非常简单。

首先在自己网站根目录上上建立一个名为GOOGLE11e5844324b7354e.html,文件本身可为空。然后在Google Sitemaps主页上单击验证按钮。Google会验证这一文件。如果验证通过,Google会显示一个已验证状态,并提供一个指向用户网站统计信息的链接。经过验证后,用户随时可以通过单击“网站概述”页上的链接来查看自己网站的统计信息。

接下来,建立Sitemaps文件。Sitemaps文件是XML格式的,Google建议使用Sitemaps协议格式的文件。不过使用BLOG的RSS甚至纯文本文件也都可以。XML Sitemaps 格式其实也很简单,建议多花几分钟转换为XML Sitemaps 格式后再提交Google。Sitemaps协议是XML的变种,用于概括与Web抓取工具相关的Sitemaps信息。对于每个网址,都可以加入抓取“提示”(如最后修改日期和近似更改频率)。Sitemaps协议以 <urlset> 开始标记开始,以 </urlset> 结束标记结束。 每个网址包含一个作为父标记的 <url> 条目。 每一个 <url> 父标记包括一个 <loc> 子标记条目。<loc>是网页文件的网址。此网址应以http开始并少于2048个字符。 <lastmod>表示该文件上次修改的日期。此日期允许删除时间部分,例如YYYY-MM-DD。其他的可选项可以不加。

最后,在Google Sitemaps的提交页面填写你生成的Sitemap地址(比如我的是http://www.williamlong.info/sitemap.xml),并提交即可。

过了几个小时后,再登录Google Sitemaps,可以看到功能菜单。

Google Sitemaps还提供了Google Spider对用户网站访问情况的说明报告,如:查询统计信息、抓取统计信息、网页分析、索引统计信息等信息。“查询统计信息”中,有列出几个进入你网站的热门搜索关键字。在“抓取统计信息”中,可以看到Google Spider抓取网站的概要统计和抓取错误的地址。实现了网站主和Google Spider的信息交互。

Google Sitemaps的访问地址是:http://www.google.com/webmasters/sitemaps/ 。
 

使用ASPJPEG添加水印的方法

这些天研究了一下ASP的自动添加图片水印的方法。

因为原先我的图片总是被盗链,因此我使用程序将图片增加了水印,然而我查看了一下昨天和今天的网站日志记录,发现我的图片依旧被盗链严重。

两天的时间,我的博客就有20多G的访问流量,图片所在的目录upload占用了18.6G,37万次点击,而文章所在目录只用了1.3G流量,4万次点击,从来源看,以大站盗链的图片所占流量最大,CSDN和BOKEE占前两位,这两个地址一共带来4万多次盗链。

当然,如果彻底防止盗链,我以前也想过使用类似ISAPI Rewrite的程序来实现,但实际使用后,我发现ISAPI Rewrite将所有的外部链接全部都禁止了,但是我并不想禁用全部外部链接,因此还是最终没有使用,不过如果现在这种盗链情况继续进行的话,我不得不考虑重新启用ISAPI Rewrite这个程序了。

下面是我使用程序来增加水印的方法,虽然以我目前的使用效果看,是比较失败的案例。

增加水印使用的是一个名叫ASPJPEG的ASP组件,我是在OBlog的网站上下载的,版本是1.5版本,使用这个图象处理组件,可以轻松地做出图片的缩略图和为图片加上水印功能。下面简单介绍一下使用方法:

先要到Oblog的下载页面上,在“OBLOG相关组件下载”处,下载AspJpeg v1.5.0.0,然后执行下载得到的文件,安装该组件。

然后在ASP代码里增加一点点代码即可,增加的位置可以放在上传图片完成后,取得图片地址,进行修改。对于Z-Blog的使用者,直接将下面代码复制到c_system_lib.asp文件的TUpLoadFile类中的Upload函数的结尾即可实现水印功能。

1、为图片加入水印功能

Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")  ' 建立对象
Jpeg.Open BlogPath & "/upload/" & FileName  ' 图片所在位置
Jpeg.Canvas.Font.Color = &H000000 ' 颜色,这里是设置成:黑
Jpeg.Canvas.Font.Family = "方正隶变简体"  ' 设置字体
Jpeg.Canvas.Font.Bold = False '是否设置成粗体
Jpeg.Canvas.Font.Size = 26 '字体大小
Jpeg.Canvas.Font.Quality = 4 ' 文字清晰度
Jpeg.Canvas.Print Jpeg.OriginalWidth/2-170,Jpeg.OriginalHeight-30, "WWW.WILLIAMLONG.INFO"   '水印文字
Jpeg.Save BlogPath & "/upload/" & FileName  ' 保存文件
Set Jpeg = Nothing

2、为图片制作缩略图

Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")  ' 建立对象
Jpeg.Open BlogPath & "/upload/" & FileName  ' 图片所在位置
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
' 设置缩略图大小(这里比例设定为50%),也可以给他准确的数值,比如Jpeg.Width=120
Jpeg.Save BlogPath & "/upload/" & FileName  ' 保存文件
Set Jpeg = Nothing

安全迁移网站的技巧

在不同的主机上迁移同一个网站,需要一定的技巧,今天我就介绍一些同一域名下将网站从一个主机迁移到另一个主机的技巧,以避免网站因为迁移而造成不必要的损失。

1、迁移准备

先将原始网站的评论等更新功能关闭,接着把原始网站的文件、数据库等信息进行备份,然后下载到本地,然后将网站内容完全上传部署到另一个主机上,通过修改hosts的方法,将网站的域名指向新的IP地址,手动验证网站可以正常访问。

2、迁移操作

接着,选择一个访问量少的时段,例如凌晨时刻,通过修改域名DNS(Domain Name Server)的A记录实现网站的迁移,注意不要通过删除A记录然后增加一个新的A记录来实现,那样会造成短时间的网站无法访问。

3、迁移过程

将原有网站内容保存至少半个月的时间(但不一定需要更新),保证搜索引擎使用原来的IP地址仍然可以访问到内容,如果无法做到这一点,那也要将原始网站的完全关闭,使原有IP无法访问,切不可保持原始网站开放,访问时候却得到404错误的情况发生。

4、迁移结束

半个月后,可以彻底关闭原有网站的WEB服务,此时,搜索引擎大多已经可以正常访问新的网站地址了,网站迁移结束。

WordPress 2.5宽屏版

我曾经在一篇文章中讨论WordPress 2.5在宽屏下的显示异常,几乎所有的界面,都是针对1024×768设计的,针对1440×900的宽屏显示器,会只显示左边部分,使用操作起来特别的别扭,而这个问题在2.3版本里就没有,因此对于宽屏显示器的用户,可以通过修改admin的css来达到良好的观看效果。

经过一番研究,发现修改成为宽屏版并不难,修改其实很简单,就是编辑wordpress\wp-admin\css\global.css,找到第159行和第166行,将max-width: 980px;以及max-width: 950px;修改为max-width: 1400px;(或者max-width: 98%;)即可。

修改之前在1440×900的显示器下的效果如下图,可以看出界面很别扭。

WordPress 2.5宽屏版

修改之后在1440×900的显示器下的效果如下图,显示效果比原来的好多了。

WordPress 2.5宽屏版

如果你也在使用1440×900的显示分辨率,不妨做一下修改,使得界面更好看一些。

英文版:WordPress 2.5 Widescreen Version

八个有用的WordPress的SQL语句

在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是实现某些特殊任务的时候,在phpMyAdmin中执行SQL语句是最简洁的方法,这里就总结八个有用的WordPress系统的SQL语句,用于解决一些实际碰到的问题。

1、创建备份数据库

备份数据库是首先要做的事情,只需要通过以下方法就可以简单备份数据库:

登录phpMyAdmin后。选择你的WordPress数据库,然后点击“导出”按钮,选择一种压缩方式(可以使用gzip)并单击“执行”按钮,当浏览器提示是否下载的时候,点“是”,将数据库文件下载到本地。

2、批量删除文章修订

WordPress2.6以后的版本增加了一个Post revisions功能,虽然有点用,但文章修订增加了你数据库的大小,我们可以选择批量删除。

登录phpMyAdmin后执行下面的SQL语句即可批量删除。

DELETE FROM wp_posts WHERE post_type = "revision"; 

3、批量删除垃圾评论

一个真实的故事是,我的一个朋友在网上建立了一个博客,有次他花了几天时间外出度假,没有上网,当他回来的时候,登录自己的博客,看到有5000多条评论等待审核,当然,大多数都是垃圾评论,要手动删除这些评论要花大量时间,因此我们可以使用以下办法。

登录phpMyAdmin后执行下面的SQL语句。

DELETE from wp_comments WHERE comment_approved = '0';

要小心,虽然这种解决方案对于处理数百万的垃圾平邮非常有用,但是也会清除未经批准的评论,因此最好还是安装使用Akismet来对付垃圾评论。

4、修改文章属性

你安装WordPress后,admin账户就创建了,不少人都错误的使用这个帐号来写博客,直到他们认识到,这并不是个人帐号。

解决的方法,每篇文章修改作者属性需要大量的时间,下面的这个SQL语句可以帮你快速完成这个功能。

首先你要找到你正确的用户名,使用下面的SQL语句可以找到你的用户ID号。

SELECT ID, display_name FROM wp_users;

假设这个ID为NEW_AUTHOR_ID,而管理员admin的ID为OLD_AUTHOR_ID,接着,运行下面的SQL语句。

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

5、手动重设密码

很多人为了保护自己的博客不被人黑掉,使用了很复杂的密码,这虽然是一件好事,但也经常会发生遗忘管理员密码的事情。

当然,通过电子邮件可以发送给你WordPress重设密码的链接,但如果你无法访问你的邮件地址,那么就只好使用下面的SQL语句来重设你的密码了。

UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login ='admin' LIMIT 1;

MD5是MySQL内置的哈希函数,用于将密码转换为散列值。

6、更改WordPress的域名

你可能有时候会想要更改你博客的域名,但是WordPress会将你的域名存储在数据库中,因此你要使用下面的SQL语句来修改。

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';

接着,你还要使用下面的SQL将文章的GUID也进行修改。

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');

最后,使用下面的语句将文章里所有旧域名替换为新域名。

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');

7、显示SQL查询数量

在你有话博客性能的时候,了解到查询数据库的数量是非常重要的,为了减少数据库查询,我们需要知道在一个页面上到底有多少个查询。

这一次,不需要登录phpMyAdmin了,你只需要修改footer.php文件,在文件结尾增加下面几行代码即可。

<?php if (is_user_logged_in()) { ?>  
    <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.  
<?php } ?>

8、恢复你的WordPress数据库

当你的数据库因为某些原因(黑客或者升级错误)被损坏或者丢失了,如果你有备份的话,那可以恢复你的WordPress数据库。

登录phpMyAdmin,选择你的WordPress数据库,点“导入”按钮,点“浏览”按钮,然后从你的硬盘选择备份文件,点“执行”按钮就可以将数据库导入。

如果顺利的话,你的WordPress功能将会恢复正常。

英文原文:8 Useful WordPress SQL Hacks
中文翻译:William Long
中文译文:八个有用的WordPress的SQL语句

WordPress用户密码算法规则

WordPress系统的用户密码是保存在wp_users数据表的user_pass字段,密码是通过Portable PHP password hashing framework类产生的,密码的形式是随机且不可逆,同一个明文的密码在不同时间,产生的密文也不一样,相对来说较为安全。

WordPress用户密码产生的过程是,当需要生成用户密码的时候,随机产生了一个salt,然后将salt和password相加,又进行了count次md5,最后和encode64的hash数值累加,就得到了一个以$P$开头的密码,这个密码每次产生的结果都不一样,下面就是产生WordPress密码的代码,将其放在WordPress根目录下,就可以生成一个加密的password,用这个密码替换掉wp_users数据表的user_pass字段即可修改密码。

<?php
 $password = 'abc';
 global $wp_hasher;
 if ( empty($wp_hasher) ) {
  require_once( './wp-includes/class-phpass.php');
  $wp_hasher = new PasswordHash(8, TRUE);
 }
 echo $wp_hasher->HashPassword($password);
?>

不过,修改WordPress用户密码还有更简单的方法,就是直接将wp_users数据表的user_pass字段修改为32位的md5(passowrd)即可修改密码为password,这样的密码形式当然不是很安全,所以,当这个用户在WordPress登录后,系统会自动将MD5密码修改为以$P$开头的密码。

WordPress的这种支持简单md5格式的密码使得其他系统(例如Ucenter系统)的用户整合WordPress更为简单。

2012年6月22日星期五

Google的商标问题和AdSense

前段时间,谷歌治印收到来自Google的信,据说是该站点URL地址包含Google,因此禁止投放Adsense,同样被禁止的还有Google Operating System,也是因为URL地址带有Google,这一连串动作,不禁引起了广大Google Fans的困惑。

之后从blogoscoped得到事情的最新发展,最终Google Operating System解封了,谷歌治印也同样解封了,此次事件应该是圆满解决。不过尽管如此,这件事情也给广大的Google Fans明确了所谓的Google品牌特征的授权使用的问题

Google品牌特征的授权问题我以前在使用AdWords的时候也碰到过,现在AdSense也有同样的问题,根据Google AdSense技术支持邮件反馈给我的信息,Google在其AdWords和AdSense中有明确的使用规则:针对Google的商标,Google的政策是发布商不得在展示Google广告的网站上突出显示“Google 品牌特征”。Google 品牌特征包括 Google 徽标、产品截图及其他显著特征。另外,发布商不得在网址中包含 Google 商标或对 Google 页(包括搜索结果页)进行加框链接的网站上展示 Google 广告。

Google AdWords则更为严格,Google AdWords的技术支持告诉我,未经明确书面许可,Google禁止用户在其网站上使用Google的徽标或其徽标的变体。如果要使用的话,需要将使用的Google徽标链接到Google相应的网页上。

Google AdWords的技术支持还说,从Google的角度上来讲,Google禁止第三方的网站未经允许而使用Google公司的商标,因为该未经允许擅自使用行为已构成商标侵权及不正当竞争,并使消费者误认为该网站(公司)与Google公司之间存在某种关联,从而弱化了Google作为商标和商号用来识别Google搜索引擎的唯一标志的影响力。

对于这方面的详细解释,Google专门有一个页面“第三方使用 Google 品牌特征指导原则”来详细描述这类情况。简而言之,Google不希望第三方网站未经许可而暗示Google在支持他们或者与其有隶属关系,以免误导用户或者消费者。

因此,我建议如果大家的网站需要使用AdWords或者AdSense,那么请尽量实行一下我的以下建议:

1、尽量不注册包含Google的域名,尽量不使用包含Google的子域名。

尽管这次的两则事件都得到的解决,但是使用带有Google的域名或子域名依旧带有相当大的风险,可能有不可预知的法律问题,因此尽量不要使用。

2、明确的在网站的首页的第一屏注明此网站和Google没有任何关系。

例如GOS注明“Unofficial news and tips about Google”,我在月光博客Google Earth观察都注明“this site is not sponsored by or affiliated with google”,以避免误导和暗示用户Google在支持这个网站或者与其有隶属关系。

3、使用AdWords的话,就不要在网站出现Google的徽标,使用AdSense的话,要使用符合要求的Google徽标。

符合要求的徽标指的是,仅使用经Google批准的图形或LOGO,不对其进行修改,Google徽标与网页上其他图形或文本留有一定间距。

总而言之,大的原则就是不要暗示用户自己的网站得到Google的支持、赞助、授权,或者和Google有关联或隶属关系

不过换个角度来看,Google也不应该让法律部来处理和Google Fans之间的不同意见,毕竟Blogger对于法律并不是很了解,从感情上讲,大多数写Google的Blogger相信都不会对Google有恶意,想来也不会做出什么对Google品牌有什么负面影响的事情,Google如果因为这些小问题和广大的Google Fans发生一些争端,那就显得非常不明智了。

Google AdSense搜索联盟的政策

今天听了Google AdSense开办的“强化自身,做好网站,经营之本”会议,整个会议讲解的内容其实没什么新意,不过会议最后的交流问答节目有些问题很有意思。

有一个用户提问,说看到网站的Google AdSense搜索广告中,可以自定义各样的关键词,获得较高点击率,问如何申请和配置这样的AdSense搜索联盟广告。

这个问题其实我也在一些网站上看到过,当时我看到这样的广告也心生疑惑,难道AdSense搜索广告可以这么搞?今天Google的人员终于回答了这个问题。

Google AdSense

Google的人员回答,如果用户使用的是Google搜索联盟产品,这样的形式是违反Google的政策的,Google搜索联盟代码是不能以任何形式进行更改代码,包括修改代码的任何部分或手动更改搜索框的布局,用户也不得使用特定查询预先填充搜索框或建议搜索词。

所以,大家看到类似的广告,可以向Google AdSense联盟进行举报,因为这类广告是违反AdSense计划政策的。

Google AdSense被挂马?

今天我博客上有网友爆料,所有包含Google AdSense广告的网站都会被卡巴斯基报病毒Trojan.JS.Redirector.ar,经过搜索可知,这个问题从今天下午3点到5点期间普遍存在,所有挂了Google AdSense广告的网站都会被卡巴斯基报Trojan.JS.Redirector.ar木马病毒提示。

AdSense中文博客已经发布了一则公告,标题是:“Google AdSense引起杀毒软件报警问题的反馈”,称“AdSense 中文小组今天陆续收到一些用户关于Google AdSense代码引起杀毒软件报警的反馈,目前我们正在与相关方进行沟通,争取使问题尽快得以解决”。AdSense英文博客至今未有说明。

如果Google AdSense的服务器真的被挂了木马病毒,那将是令人震惊的,因为Google AdSense的使用如此的广泛,连新浪网都在使用,真是病毒的话那对用户来说将是一场灾难,对于Google来说也同样道理。

Google有两样服务的代码在全球的网站都很普及,一个是Google AdSense,一个是Google Analytics,Google应该尽最大努力确保这两项服务不被黑客攻破,否则后果不堪设想。

晚间时分,卡巴斯基中国公司证实,这是一起病毒误报事件,Google Adsense代码正常。卡巴斯基用户在下次升级病毒后即可解决,不同用户升级病毒库的时间不同,所以故障的恢复时间不一。

Z-Blog锁定文章功能的修改

在Z-Blog系统中将文章的类型设定为“锁定文章”,可以让这篇文章无法继续评论,但有时我们可能需要将文章评论内容也隐藏,因此可以通过修改源程序来实现这个功能。

在 c_system_lib.asp 中找到Function Export_CMTandTB()函数,在函数开头增加一行If Level = 3 Then Exit Function.这样,当将文章设置为锁定的时候,就会不输出该文章所有的评论内容,该文章也不会增加新的评论。

这个功能是做什么用的呢,我的读者都很聪明,一定猜得出来。

Z-Blog文章投票评分插件

文章的评分和评论都是博客重要的交互功能,有了文章投票和评分,能让你的博客显得更加社会化,更加重视用户参与,是增强博客交互性的一个重要手段。

Z-Blog系统的评分插件原先有个基于Z-Blog 1.7版的,而目前Z-Blog 1.8还没有类似的插件,因此不断有用户问我要这个插件,于是我花了一点时间,基于Z-Blog 1.8的插件原理对原来这个评分插件进行了修改,使其可以正常运行在Z-Blog 1.8下。

由于插件的CSS用的是绝对路径,因此这个插件默认支持安装在根目录下的Z-Blog 1.8,如果Z-Blog安装在子目录下,请调整插件CSS里相关路径地址。

对于Z-Blog 1.8的用户,只需要使用插件中的Rating.zpi文件即可。在Z-Blog 1.8的“插件管理”-“从本地安装插件”中导入Rating.zpi,启用之后,不需要修改模板,只需要进行“文件重建”操作即可。重建之后,文章就有了投票打分的功能。

对于Z-Blog 1.7的用户,需要手动进行安装,先将文件中的Rating目录解压到系统的PLUGIN目录下,然后手动修改文件名Rating.md_为Rating.mdb.之后修改模板文件,修改方法参见原先文章的方法

插件具体显示效果可参见月光博客本地的评分界面。

点这里下载Z-Blog文章投票评分插件。

补充:此程序默认是安装在网站根目录下,当Z-blog程序在子目录下没有能显示小星星。

对此需要对css文件进行修改 :具体文件在 PLUGIN/Rating/rating.css

在 background-image: url(/PLUGIN/Rating/star.gif); 加上你博客程序的文件名

修改为 background-image: url(/blog/PLUGIN/Rating/star.gif);

/blog/为z-blog 程序默认目录。

Google工具栏的实用功能

GOOGLE新版工具栏(3.0 beta)增加了2个有意思的功能。

一个功能是拼写检查,可以检查录入表单中的拼写错误(有点象WORD了),当表单录入完成后,点击GOOGLE工具栏中的拼写检查按钮,GOOGLE就会连接拼写检查服务器(然后我们就要祈祷拼写检查服务器现在可以连通),就可以实现拼写检查功能。

另外一个功能是字词翻译器,把鼠标移动到当前页面的某个单词上,GOOGLE会自动将其中文翻译显示出来(金山词霸的生意估计要冷清了)。第一次使用的时候,GOOGLE会先自动去下载字典。目前其支持中文、日文、韩文、法文等七种语言的翻译。

GOOGLE工具栏下载地址:http://toolbar.google.com/intl/zh-CN/

Google Analytics推出异步跟踪分析

据Google Code博客报道,Google宣布推出Google Analytics异步跟踪模式,用来提高使用Google Analytics的用户体验,提高用户的访问速度。

新的代码具有以下优点:

1、网页能更快地加载跟踪代码,改善浏览器加载时间。

2、增强数据收集的准确性。

3、消除因JavaScript代码未完全加载而差生的错误。

这里是新的统计跟踪代码示例

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
        'http://www') + '.google-analytics.com/ga.js';
    ga.setAttribute('async', 'true');
    document.documentElement.firstChild.appendChild(ga);
  })();

</script>

异步跟踪代码的第一部分分配了_gaq变量的JavaScript数组,此后,两个API调用将编码后的数据写入此数组,当跟踪代码初始化的时候,它把数组_gaq的数据加载到一个新的对象中,并执行跟踪API调用此数组中的初始数据,因此,使用这样的代码,可以将所有跟踪统计所需要的数据全部存储下来,即使Google Analytics的代码还没有下载完,因此就不必再担心ga.js跟踪代码的依赖性问题了。

该代码的下半部分动态创建了一个script元素,并设置好合适的地址,因此,大多数浏览器将在另一个script代码中加载跟踪代码,以减少网页加载时间。

一旦代码被加载,就会将_gaq数组转换为一个谷歌分析的_gaq对象,该队形做为基础的_gat对象执行所有命令,将数据发送到用户的Google Analytics账户。

新的异步跟踪代码正处于测试阶段,可供所有的Google Analytics用户使用,这个代码是可选项,原有的Google Analytics代码依旧工作正常,不过,如果你想要提高你网站的速度并增加分析数据的准确性,建议使用这个新代码。该代码的开发文件参见这里,示例参见这里