id的承诺

| No Comments
John Carmack 在Quake III发行之前说过:"如果Quake III的销量是我们以前产品最好销量的两倍,我将建立一个持久稳定的网上动作游戏世界。" (自《永远的雷神》 ,英文原文不可考)

八年之后,当年Quake III的引擎id Tech 3已经是GPL协议之下的开源软件,Quake III游戏本身则是一切其它竞技类FPS的标准。在QuakeCon 2007上,John公布了Quake Zero,即通过Web Browser启动的、广告赞助的、永久性免费在线Quake III世界。我突然就想到了文章开始的那句话。这个八年的承诺,着实非常有份量。id做的事情,为什么会有那么多人膜拜?因为这些都是非常伟大的事情,不 仅推动了游戏业的发展,而且惠及开源社区、计算机图形科技的进步。业界里,恐怕也只有id有这样的份量吧。

突然想起了大宇,显然现在的大宇已经不是我玩游戏那个时代的大宇了,但还是希望它一切都好。

参考阅读:
New Quake Games and More - About next Quake Games.
Quake Zero Coming to a Web Browser Near You - About Quake Zero

Sparkle

| No Comments
终于基本实现了我一直以来十分需要的,一个可以帮助自己记忆单词的软件。

Sparkle

web端服务使用Karrigell,数据库使用Karrigell内置的buzhug数据库

screenshot of sparkle

我需要这个工具的原因,是因为我一直以来是一个忠实的《词汇大爆炸》用户(该软件已经停止开发),自从2004年以来已经累计使用它背了几百个小时的单词,从中获益菲浅。可以说《词汇大爆炸》是使用ubuntu之后,要使用Windows的唯一理由。

我曾经的计划是做一个《词汇大爆炸》的clone,发现自己水平可能比较难做到。在这种类别的开源软件里面,我还没有找到比较像《词汇大爆炸》这样的(惭愧,还没有用过黑客背单词)。后来觉得只要有一个可以基本帮助自己背不熟悉的单词的东西也就可以满足了。于是在开发tarsusa的同时,这个东西其实已经在着手准备,只是自己一直都没有下定决心一口气做出来。

前 一阵想把台式机上面许久不用的Windows重新安装一下,没想到安装过程中CPU过热会导致频繁关机,并且由于安装程序重写了主引导区,我还需要费时恢 复GRUB...... 这促成了我和Windows说拜拜并且写完sparkle的原因。具体到架构如何实现、使用什么界面形式这些问题在我脑海中已经构想了许久,所以大约两个 晚上就写了出来。

sparkle总体的结构:一个单词数据库记录平时遇到的不认识的单词(我已经积攒了一段时间了),然后像词汇大爆炸那 样,依据用户对单词的熟悉程度,随机抽取单词和解释,由用户进行选择形式的做答,用户较熟悉的单词会较少出现,不熟悉的单词会经常出现,以此达到学习的目 的。

当然这个程序还远没有《词汇大爆炸》那种规模,没有应用艾宾浩斯记忆曲线原理,也没有针对用户行为的、更细致的词义混淆等等,还只是 一个简单的小程序。目前通过web界面来实现,但事实上并不局限于web界面,实际上任何连入网络能够执行Python程序的平台都有可能实现。比如可以 执行Xbox Media Center的破解版Xbox,甚至是Symbian S60 Smartphone。我希望能够有时间、有精力、有技术来实现以上那些功能。

去年的这个时候,也是使用同样的工具完成了自己需要的日程管理软件tarsusa,若问我用最好的语言Python完成这些简单的工具是什么感觉,那只有简单的一个字,爽。

参考阅读:
    《tarsusa Release RC》

CMS Made Simple 安全技巧

| 1 Comment
上次说到自己使用建立的CMS Made Simple建立的一个站点被黑了,由于之前没有做好充足的应付这种事件的准备,用了近20个小时才恢复。通过这次事件,自己吸取了沉痛的教训,并且在CMS Made Simple建立的站点的安全性方面,也有了一定的了解;现通过自己的经验以及从CMS Made Simple论坛中学习到的一些东西,整理出几条CMS Made Simple安全技巧:

    1. 足够安全的用户名和密码

          说来好笑,仔细想来,自己站点被黑,密码过于简单其实是直接原因...... 请大家不要使用username:admin password: domainname 这样的密码,设置这样的密码与直接开放后台给公众是一样的。
          尽量不要把管理员的用户名称设置为Admin;六位数的密码被证实安全性已经不像原来那样高了,替换成八位数以上的吧。

    2. 在Config.php中更改Admin目录

          绝大多数由CMS Made Simple建立的网站,在其URL后面加上/admin都会出现未经修改过的CMS Made Simple Login画面,如果存在较严重的漏洞或者遇到好奇心极强的破坏者,岂不是相当于"Welcome to Hack into it!"。我们可以通过修改在config.php里面的

          #Name of the admin directory
          $config['admin_dir'] = 'admin';

          这一项,将admin换成你设想的富有想象力的组合吧,同时也不要忘了把admin/目录改成相应的名字。这样,你至少又给蓄意破坏者增加了一道障碍。

    3. 定期、及时备份数据库

          这一条看似多余但是绝对值得再三强调。天有不测风云,谁又能预知网站将要出什么问题呢?主机停机、非法入侵、文件丢失、数据库损坏、域名无法解析、GFW 都不是不可能发生的事,手头有份备份总要踏实许多。否则,就象曾经幼稚的我那样疯狂使用Google Cache吧......
          备份CMS Made Simple的网站还是非常方便的,只消备份该Installation中使用的那个数据表就可以了,模板、内容、模块设置等信息均包含在里面。CMS Made Simple可选装的模块里也有用于备份数据的模块,可以分别备份不同类型的数据。另外很多数据如模板、模块等也是可以导出成为XML文件的,总的来说, 备份并不麻烦。
          使用软件或后台备份数据库均可,我在使用mysqldumper,很好用,就是在加密上有一点点小问题。最后,不要忘了把数据在本地再备份一份。

    4. 及时将CMS Made Simple更新到最新的版本

          在写这篇文章的时候,CMS Made Simple的最新版本为1.1。在1.0.x的版本阶段,虽然不断有漏洞发现,但是开发团队都以极快的速度推出新版本以填补漏洞。之后的版本据称安全性 有了很大提升,建议大家都更新到最新版本。需要注意的是,在更新版本之前,请备份数据!因为很可能会有一些模块不兼容的问题导致一些功能不能正常工作。
           News模块不工作的情况较为常见,解决方法也很奇怪,在模块管理中将其卸载然后再装上,一次或反复几次就可解决问题。供遇到这样问题的朋友参考。

    5. 文件/目录权限777 or 775 or else 的争论

          在论坛上,有的人认为在安装时需要对
  • tmp/templates_c
  • tmp/cache
  • uploads
  • uploads/images
  • modules
          这几个目录设置777权限以安装提出了质疑。认为这可能带来潜在的安全隐患,并建议大家将其设置为775

          原帖 - Security impacts of chmod 777

          我认为最终kermit给出的答案还是比较合理的,即:安装程序的确需要这几个目录的权限为777,但是出于安全考虑,可将这些目录中的文件权限设置为666,并且把config.php的权限也设置成为666。
          虽然可能这个并不构成问题,但是权限问题的确可能会构成很大的隐患,不可小视。


以上给出了一些CMS Made Simple安全方面简单的一些技巧。文章的内容十分初级,毕竟我也只是个这方面的新手。但是我认为这些问题都不可小视,毕竟这些都是前车之鉴。如果您认为有需要补充或不对的地方,欢迎来信告诉我。


相关阅读:
优秀的轻量级内容管理系统: CMS Made Simple - 一篇关于CMS Made Simple的很好的介绍
《CMS Made Simple的几点技巧》 - 在使用CMS Made Simple架设站点的过程中,可以应用的一些技巧

Find recent content on the main index or look in the archives to find all content.

Recent Comments

  • yhyhyh72003: 终于看到点 CMS Made Simple的中文介绍了 read more
OpenID accepted here Learn more about OpenID