要说今年最风光的 Web 2.0 服务,那毋庸置疑是 Facebook。凭借强大而极富创意的 Facebook Platform,Facebook 可谓一夜间红遍世界的各个角落,从一个单纯的美国大学生社区,成为了 Web 2.0 的标签。但最近一个名为 Facebook Secrets 的 Blog 可是让它糗坏了,这个 Blog 连续两天发布了 Facebook 首页和搜索部分的源代码,这让 Facebook 的管理人员慌了神,紧急 Down 掉服务器找问题。Facebook 的安全问题不得不被提上日程。
对于一个网络服务来说,代码往往就是一个网络服务的生命,是最重要的财产。一旦代码泄露,别人即可通过源代码轻松了解你一些特色的技术细节,从而快速开发出类似产品。核心特性的丢失,对于一个 Web 2.0 服务,特别是刚刚起步的服务,简直是致命的打击。
当然,Facebook 并不属于上面提到那一类。即便我们可以用泄露的代码复制出一个 Facebook 的模式,却不可能短时间复制出 Facebook 上庞大的用户数量。但对于 Facebook 这样庞大的 SNS 网络,源码泄露的另一个重要问题,就是由此带来的安全隐患。
首先,源码泄露问题的发生,本身已经说明 Facebook 存在安全问题。无论是服务器被黑,还是内部管理不利,统统可归结为现已存在的安全问题;
其次,源码泄露给 Facebook 带来更多的是无穷的隐患。攻击者可以通过研究源码来寻找漏洞,这样比没有源码要方便很多。尤其是对 Facebook 这样有开放 API 和 Platform 的平台,一个蓄意编制的 Facebook App 就可能攻陷整个平台。也许不久我们会在 Facebook Platform 上看到针对 F8 开发的病毒诞生。
而最致命的,是由于这些安全问题而带来的隐私问题。众所周知,Facebook 中绝大多数人提供的都是真实的用户资料,而且有 MiniFeed 这样将用户行为详细记录的功能,这些数据一旦别窃取,那用户的个人隐私将无从保障,由此引发的社会问题就无法想象了。
Web 2.0 发展的方向,最终是要将 Internet 变革为一个大型的 SNS 网络。服务间彼此靠 API 联系,而用户数据也将被分散存储以促进信息流动。一旦这样的理想 SNS 模型成为现实,那么安全问题就更显得尤为重要了。因为任何一个环节的缺陷,都可能造成用户隐私被侵犯。到时候 Web 2.0 将成为比如今风行的“地下黑色通道(买卖个人信息的地方)”更为危险的个人隐私泄露工具。
对于安全问题,很多 Web 2.0 服务也在进行着不屑的努力。但我要强调的,在穷尽各种技术修补漏洞之前,首先要做到的,就是保护好你的源代码,因为这是你防范黑客入侵最有力的一道屏障。此外,在这方面,像 .Net, Java 那样可以编译封装的语言比 PHP 这种解释型语言有了先天的优势。如果你的服务对于用户数据安全有较高的敏感性,在开发时不妨考虑这类语言。