2007年3月12日星期一

常用RSS阅读器评测

  本文是一个知识普及文章,主要讲述RSS阅读器的主要作用和常见用途,如果你已经熟悉了解RSS阅读器,请忽略本文,如果你一直使用浏览器阅读信息,那么请尝试一下RSS阅读器,你可以看到自己的阅读习惯可能会或多或少发生改变。

  RSS的基本概念

  什么是RSS,RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。网站提供RSS输出有利于让用户获取网站内容的最新更新。用户可以使用RSS阅读软件,在不打开网站内容的情况下阅读输出的网站内容。

  RSS的作用

  RSS的最大作用是,让用户使用最少的时间来获得最需要的信息,而不用陷入信息的海洋里面。

  RSS阅读器会自动将所有更新内容排在一起,用户不用一个站点一个站点的去浏览内容,只需要查看RSS阅读器即可,当然前提条件是RSS内容为“全文输出”,一些网站因为害怕损失流量而使用“RSS摘要输出”,这在一定程度上降低了用户的浏览效率。

  RSS阅读器的分类

  目前的RSS阅读器分为离线RSS阅读器和在线RSS阅读服。

  离线RSS主要指的是一个客户端软件进行RSS阅读,例如浏览器自带的RSS阅读(IE7和FireFox等都带有),我个人觉得比较好用的是免费中文的GreatNews 。

  离线RSS优点是比较稳定,缺点是在多台电脑使用会很不方便,阅读内容不同步,速度较慢,较为耗费本地资源。我个人不太推荐使用离线RSS阅读器。

  在线RSS阅读是使用一个专门服务网站进行在线RSS阅读,而不用客户端程序,在线阅读器的好处是,不需要消耗客户端的资源,速度一般比较快,对于在不同地点阅读(比如公司和家中),可以不必进行多次配置,阅读的内容也可以保证是连贯和同步的。

  我以前曾经专门介绍过“离线RSS阅读器和在线RSS阅读服务比较”,不过,现在的在线RSS阅读器市场发生了巨大变化,我不得不重新再介绍一下主要的在线RSS阅读器。

  主要的在线RSS阅读器比较

  目前,网络上存在着很多在线RSS阅读器,就我所知的就有很多,所以用户在选择的时候难免会无从下手。这里我介绍几个常见的RSS阅读器,如果你从来没有使用过RSS阅读器来阅读Blog,我相信你在使用在线RSS阅读器后,会或多或少改变自己的阅读习惯。

  1、Google Reader: http://www.google.com/reader

  Google Reader借助Google的声势,已经成为在线阅读器的老大哥,支持中文界面,我也觉得Google Reader是最佳的一个阅读器。能有的功能都有,还支持HTTPS,阅读速度非常快。

  2、Bloglines:  http://www.bloglines.com

  目前排在老二的位置,虽然做的最早,但感觉已经有点落伍。据FeedBurner统计,Bloglines的市场份额已经远远低于Google Reader了

  3、NewsGator: http://www.newsgator.com

  英文界面,速度不怎么样,对中文支持不太好。阅读界面上会显示Google Adsense的广告。

  4、Rojo: http://www.rojo.com

  英文界面,速度慢。中文支持极其不好,中文目录会出现乱码且无法修改删除,阅读界面上会显示Google Adsense的广告。

  5、抓虾: http://www.zhuaxia.com

  一个国内的阅读器,目前已经是国内阅读器的老大。浏览速度还可以,可惜无法按目录浏览,这是一个很大的功能缺陷,其他都还不错。

2007年3月11日星期日

网站的安全登录认证设计

  用户登录是任何一个应用系统的基本功能,特别是对于网上银行系统来说,用户登录的安全性尤为重要。如何设计一个网站的安全登录认证程序,是本文主要讨论的问题。

  静态密码存在着比较多的安全隐患,攻击者有很多手段获得静态密码,管理密码也具有较高的成本,我在前文《中国网上银行系统安全性分析》中曾经论证过,使用硬件安全产品“动态密码锁”或者“USB Key”可以较好的解决这个问题,但是会带来加密锁的成本,在不增加硬件成本的情况下,我们也可以通过一些设计上的技巧和措施在一定程度上来保证登录者的身份。

  一、客户端和服务器端的安全

  客户端的安全,主要是用户密码本身的安全性(密码长度和复杂性等)以及用户电脑的安全性,包括用户电脑没有安装黑客木马软件,登录程序没有被第三方程序加载调试,用户录入框组织键盘Hook程序等等,通过一些代码即可解决。

  服务器端的安全,包括服务器自身的安全(系统漏洞等等)以及程序设计上的安全,我这里主要讲一下程序设计上的安全。最基本的问题是,用户的密码不应该直接保存在服务器的数据库上,也不应该将密码用单钥算法加密后保存,最基本的认证方式是通过单向散列函数对密码进行认证。在《软件加密技术和注册机制》一文中介绍了一些单向散列函数可以实现简单的认证。目前大多数网站都使用MD5函数进行登录认证,不过我推荐使用安全性更高的SHA1散列函数来进行登录认证。

  二、网络传输上的安全

  目前的网络协议通过HTTP协议进行通讯,存在很大的安全隐患,黑客可以通过SNIFFER工具进行抓包分析网络数据包,因此用户名和密码的传输应该使用非明文的方式传输,这里就用到了“公开密钥密码”的概念。

  学过基本的“密码学”的人都应该知道“公开密钥算法(也叫非对称算法、双钥算法)”这个概念,即用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。

  加密的传输过程分为两部分,一部分为身份认证,用户鉴别这个用户的真伪;另外一部分为数据加密,用于数据的保密。这两部分功能都需要用到非对称加密技术。

  首先是身份认证,通讯的数据可以这样进行处理,将用户的信息(用户名、密码等)用该用户的私钥进行加密,然后再进行传输,而在服务器端会保存此用户的公钥,用此用户的公钥对传过来的信息进行解密,就可以得到正确的明文,这样就完成了一次安全的网络通讯。

  通讯过程的示例如下图所示,Alice用自己的私钥对明文进行加密后传输到服务器,服务器上的用户(例如Bob)拥有很多用户的公钥,因此使用Alice的公钥对密文进行解密,如果密钥正确的话,就可以解密出明文,也就完成了对Alice的身份认证。

公钥认证过程

  然后是数据加密,数据加密和数据认证正好相反,使用接收方的公钥对数据进行加密,传输的过程中,即使数据被黑客截获,也无法使用这些密文,接收方收到密文后,用自己的私钥对密文进行解密,从而完成了一次数据的加密传输。

  通讯过程的示例如下图所示,Alice需要发给Bob一段加密的信息,因此Alice就用Bob的公钥对明文进行加密后传输给Bob,Bob收到信息后,使用自己的私钥对密文进行解密,就可以解密出明文,也就完成了对Alice的发来密文的解密过程。

公钥加密的过程

  目前的公开密钥算法主要有RSA和ECC,RSA是比较老的算法,基于大质数分解,速度较慢,ECC(椭圆曲线)是最新的公钥加密算法,基于离散对数计算,速度比RSA快,安全性据说更高一些。

  当然,上面的所说的技术只是最为基本的身份认证技术,只是适合一般网站应用,对于电子商务和银行来说需要更为复杂和权威的安全认证系统。目前比较流行的是PKI技术。PKI(Public Key Infrastructure)是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组成的。PKI技术已经被广泛应用于电子政务和电子商务,被证明是保证基于互联网的电子政务和电子商务安全的最佳解决方案。完整的PKI建设需要大量的资金和人力才能完成,这里就不多介绍了。

2007年3月10日星期六

新版Google桌面的新功能

  据Google Desktop官方博客的介绍,Google Desktop在周四推出了一个beta版的第五个版本的桌面产品,这个版本主要在搜索、侧边栏和小工具上进行了一些变化。

  侧边栏有了一个全新的显示效果,其显示的颜色会根据用户的桌面墙纸的颜色自动变化,融合进背景,使得侧边栏显得更协调。

  在小工具上,我们发现可以使用更多的实用小工具,甚至还包含月光博客的订阅地址(谢谢阿企的发现,在技术和工具分类中可以找到我的订阅地址)。

Google桌面

  搜索上的变化是,搜索结果具备了预览功能,用户在浏览器右侧可以看到预览的搜索结果,这样,寻找信息比以前就更容易了。

  安全性同时也得到了增强。当点击文档或者邮件的链接时候,如果Google桌面发现可能有恶意软件或者钓鱼网站,系统会发出警告提示,从而增强了操作的安全性。

2007年3月9日星期五

关于Google域名的自动转向问题

  这些天,有部分读者给我留言反馈了一个特殊情况,说有时访问Google.COM,浏览器会自动转到Google.CN,有人在怀疑Google是不是打算在中国正式用Google.cn代替Google.com。

  听到这个消息,我在第一时间进行了验证,并没有出现访问Google.COM后自动转到Google.CN的情况,因此我怀疑可能是网络DNS解析错误,或者是Google在服务器端做的临时测试。

  如果还有人遇到这种情况,请使用下面的方法进行测试,可以进一步推断问题到底出在哪里。

  运行CMD,然后运行PING WWW.GOOGLE.COM,看一下当前Google的IP地址。

  然后访问一下IP地址查询的网站,例如123cha,在线查看一下Google的IP地址,对比两者IP地址是否相同。

Google域名的DNS查询

  正常情况下应该是相同,如果两者完全相同,而访问Google发生了自动转向,则原因就在Google服务器端,可能Google在服务器上进行某种测试工作,也可能是路由器端的HTTP挟持

  如果不相同的话,说明本地访问Google的线路被电信或网通等服务商挟持。解决这种问题的方法是,在IE中进行如下图的设置,然后在DNS设置中选择一个安全的DNS服务器(例如OpenDNS的DNS IP地址:208.67.222.222,208.67.220.220)。

IE设置界面

  当然,也可以直接修改C:WINNTsystem32driversetchosts 文件,加入一行 216.239.63.104  www.google.com 也可以解决域名DNS错误的问题。

  不过,也有可能是电信路由器挟持,通过路由器挟持的话,IP地址等均不会出现异常,但是HTTP返回包会被篡改,以前电信搞这些是为了弹出恶意网站的广告,这种技术的确也可以做到将A网站自动转向到B网站的功能。

Google网络相册进行了升级

  据Google官方博客报道,Google已经做出了几个改善Google网络相册(Picasa Web Albums)的动作。新的社区图片搜索功能可以更为方便地搜索和发现其他人拍摄的照片。免费存储空间升到了1G空间(以后还会继续增大),这个空间足够存放4000张标准分辨率的照片了。Google还会将照片的链接进行了简化,以便能更加方便地从邮件、IM或者网站上共享照片。

Google网络相册进行了升级

  不过,目前除了空间以外,搜索功能目前只在英文版的Picasa Web Albums上才有,中文版的估计稍后才会开放。大家可以通过这个链接提前体验一下。

  其实,我看到这个消息是很欣慰的,因为就在一个月前,我还发表了自己对Picasa Web Albums的强烈忧虑,并提出了四点建议,而目前的Google竟然很巧合地增加了这些功能,正好满足了我以前的建议,看来Google还真的很贴近最终用户啊。

  不过,我目前使用的主力相册依旧是FlickrPanoramio,如果Google Earth能集成Picasa Web而不是Panoramio的话,我就打算转向到Picasa Web了。

  最后,为了能随时随地更方便拍摄照片,更快地更新我的网上相册,我打算周末去搜索一下拍照手机,目前看好SONY K790C/800C。

2007年3月8日星期四

WordPress的Blog可以做为OpenID了

  据WordPress的官方博客报道,现在已经可以使用你在WordPress的博客地址做为OpenID了。

  你已经厌倦了记住几十个不同的用户名和密码了吗?在不同的网站注册不同的用户让你感到厌烦吗?

  OpenID是一个新标准,旨在减轻上述问题和麻烦,因此WordPress使得所有在WordPress.com有Blog的人都拥有了一个OpenID。这意味着你可以在其他网站上使用你已有的WordPress.com帐号进行登录。

  你的OpenID就是你的WordPress Blog地址。

  例如,我的OpenID就是williamlong.wordpress.com。不过这个地址无法从国内访问。

 

2007年3月7日星期三

META标签的常见用法

  最近,Danny Sullivan谈到了如何处理的搜索引擎meta标签的问题,以下是一些关于在Google中如何处理这些问题的答案。

  多内容数值

  我们建议你把所有的Meta标签内容放在一个meta中。这将使得meta标签更易于读取并降低发生错误的概率。例如:

  <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

  如果一行包含对个meta标签,我们将会累加标签的内容,例如,我们会将

  <META NAME="ROBOTS" CONTENT="NOINDEX">
  <META NAME="ROBOTS" CONTENT="NOFOLLOW">

  理解为:

  <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

  如果内容的数值有冲突,我们将使用最严格的那个。所以,如果有个页面包含下面的meta标签:

  <META NAME="ROBOTS" CONTENT="NOINDEX">
  <META NAME="ROBOTS" CONTENT="INDEX">

  我们将只遵守noindex的数值。

  单词拼写规范

  Googlebot可以理解任何大小写的组合,所有大小写都是同样的效果。如果包含多内容的数值,数值之间需要使用逗号分隔。

  同时使用robots.txt和robots meta标签

  如果你同时使用了robots.txt文件和robots meta标签,如果robots.txt和meta标签有冲突,googlebot将使用限制更严的。具体来说:

  如果你在robots.txt里禁止了某一页,Googlebot永远也不会去索引那一页,也不会读取那一页的任何标识。

  如果你在robot.txt中允许,但是在页面中使用 meta 标签对其进行限制,那么Googlebots会访问那一页,读取里面的标签,但不会对其进行索引。

  有效的meta标签数值

  Googlebot可以对下面的标签进行如下的解读:

  NOINDEX - 阻止页面被列入索引。

  NOFOLLOW - 阻止对于页面中任何超级链接进行索引。(注,这不同于超级链接上的nofollow属性,那个属性只是组织索引单独的链接)

  NOARCHIVE - 不保存该页面的网页快照。

  NOSNIPPET - 不在搜索结果中显示该页面的摘要信息,同时不保存该页面的网页快照。

  NOODP - 在搜索结果中不使用Open Directory Project中的描述信息作为其摘要信息。

  NONE - 相当于“NOINDEX, NOFOLLOW”。

  数值NONE的含义

  据robotstxt.org的定义,下面的标记等价于 NOINDEX, NOFOLLOW 。

  <META NAME="ROBOTS" CONTENT="NONE">

  不过,有些网站站长使用这个标签来限制和组织所有搜索引擎来的内容索引。

  翻译人:William Long

  译文地址:META标签的常见用法

  英文原文:Using the robots meta tag