Month: May 2010

  • 关于Web编程异步模型的白日梦

    早上刷牙,处于半睡状态。突然想起昨天晚上看到的那个 go-lang 的 MVC 框架,若使用 go func() 方式异步获取数据,应当是不错的。窃喜……梦醒……

    在地铁上被前前后后那些特种男女逼到车角,无奈。又想起早上那个白日梦,遂上网搜索了一番。得老赵的佳作一篇《F# 与ASP.NET(1):基于事件的异步模式与异步Action》。之前看过,由于对微软无爱,未能细品。今日一读,如醍醐灌顶,豁然开朗。

    遂整理思路如下,以待后用。
    (more…)

  • 国内我去过的地区……

    Yu Feng 的 Blog 上看到的。

    路过应该不算去过吧,好歹在那个地方住上一两个晚上才算……

    我去过这些地方:


    create your own China map

    看来除了西北,我在东南沿海的活动最多了。

  • 关于昨日爆出的 Nginx + PHP CGI 漏洞的一点点补充

    我第一次看到这个漏洞是在 Laruence 的博客。看完之后,我赶紧评估了一下我们正在开发的产品出现这个漏洞的可能性。还不错,在我们当前架构下,这个漏洞被成功利用的可能性为 0 ……

    结果,今天在大嘴巴 cnbeta 看到了这篇很标题党的新闻《80后发现nginx 0day漏洞,上传图片可入侵100万服务器》。然后引用的出处是这里

    好了,我认为我提供的背景资料足够详细了。现在说说为什么我们的产品不会出现这个被利用的可能吧。

    其实很简单,将资源文件和 php 脚本文件放在不同的域名下面。然后将资源文件(含产品自身的和用户贡献的)的访问限于只作文件传输,不作任何的脚本解析。

    例如 PHP 脚本执行的主机名是 www.mikespook.com。而上传文件和图像、js、css 等放在 static.mikespook.com 主机名下。

    其实,就是这么简单的一个隔离措施,就避免了出现这种上传并解析的漏洞。

    即使想用同一个域名,通过对 nginx 的配置禁止资源文件目录下的文件被当作脚本解析也是很容易的。

    这个故事教育我们:细节是基石,架构是王道!!!

    另,根据来自高春辉的可靠消息,手机之家也不存在此问题……

  • 豆瓣上的一个很欢乐的帖子

    帖子详情,请看这里:

    1kg的水绝对不可能浮起2kg的东西。

    看过之后我乐了,连游戏都没打,一晚上跟着这群疯子一起疯……

    豆瓣,果然是文艺青年装科学怪兽,科学怪兽装文艺青年的好地方!

    阿基米德他老人家这会应该挺伤心,当时计算的时候咋没在澡盆里放几个屁,那计算结果自然……

    呃,转基因玩残了,阿基米德也玩败了,接下来是谁了?

    牛顿?高斯?

    要不玩个活着的?霍金如何?

  • 《软件架构师应该知道的97件事》阅读随想

    昨天新书到货《软件架构师应该知道的97件事》,吃完饭的养膘时间大致浏览了一遍,将一些阅读随想放在了推上。今天将这些内容整理于此……

    《软件架构师应当知道的97件事》如果用#97TESASK 作为标签,应该没人反对吧?
    (more…)