知易行难

Archive for March, 2008

保护Rails应用的svn目录

Mar 29, 2008

Tags



Rails开发者喜欢用Capistrano来自动化部署网站应用(什么,你不用?),即使不使用自动化部署,很多人也会使用svn co直接将代码取到网站应用目录。这给网站信息泄漏提供了方便。使用下面的地址,就能访问到这样的网站的svn信息:

  • http://somesite.com/.svn/entries
  • http://somesite.com/.svn/javascripts/entries

这可不大妙,因为这个文件里包含了你的svn库的地址、用户名和当前目录内容等很多信息。最好通过服务器配置来禁止对.svn目录的访问。在nginx下,可以在server配置下加入这一条:

location ~ /\.svn {
    deny    all;
}

另一种方式是在config/deploy.rb中加入以下设置,使用svn export来导出代码:

set :deploy_via, :export

不过很多时候为了手工维护站点的需要,我更倾向于用svn co(svn checkout)。

Lovd By Less: 基于Rails的开源社会性网络平台

Mar 20, 2008

Tags

Lovd By Less是一个以Ruby on Rails构建的开源社会性网络平台。它包含以下特性:

  • 朋友间联系(关注、通信…)
  • Blog
  • 相册
  • Flickr集成
  • YouTube集成

对我来说,Lovd By Less有两点最吸引人,一是它用Rails(2.0.2)开发,二是它开源。这意味着这个平台很有参考价值。

下载并阅读Ruby code中。

greenpoo 发布

Mar 14, 2008

Tags


起源:blackr

blackr is a bookmarklet you can put in your browser’s bookmarks bar. Later, when you are on a photo page or one of the “All sizes” pages on flickr, you can click the bookmarklet and it will hide everything on the page behind a soothing black canvas except for the photo. All that remains is the picture.

延伸:greenpoo

blackr是针对flickr的(服务)工具。Flickr在国内被可耻得GFW了。还好,我们还有Yupoo。在针得blackr的作者Robert Rezabek的同意后,我修改blackr的实现,完成了greenpoo

什么是greenpoo?

Yupoo是国内照片发布、存储、分享及传播社区网站中的佼佼者。许多有创意的用户将他们的优秀照片展现并分享在该网站上。greenpoo是一个可以放置在你的浏览器收藏工具栏上的 bookmarklet工具。当你浏览Yupoo网站上的精彩照片时,只要点击收藏工具栏上的greenpoo按钮,网页上的照片就会突出显示,其他内容则会被隐藏,以帮助你更好地欣赏照片。

目前,greenpoo支持Yupoo的照片浏览页面、原图页面和随便逛逛页面。

想了解更多?

请访问greenpoo

Firefox 3 Beta 如何使用旧插件

Mar 12, 2008

Tags

Firefox 3 Beta 4出来了。尝鲜是很刺激的事,但一堆插件没法使用是很苦恼的。lifehacker上的一篇Make Your Extensions Work with the Firefox 3 Beta给我们指明了在Firefox 3 Beta版中让被禁用的插件活过来的方法:

  • 在地址栏里输入about:config,然后点击I’ll be careful, I promise!按钮;
  • 右击选择New > Boolean,新建一个名为extensions.checkCompatibility的键并设值为false;
  • 用相同的方法新建一个名为extensions.checkUpdateSecurity的键并设值为false;
  • 重启Firefox。

attachment_fu使用自定义域名的S3服务

Mar 2, 2008

Tags

Rails插件attachment_fu提供非常棒的文件上传管理功能。它支持文件系统、数据库及Amazon S3三种方式来存储上传的文件。

要使用S3这种存储方式,仅需在作为上传对象的Model类中(以Asset为例)调用带:storage => :s3选项的has_attachment方法。实际效果是,上传文件后,通过访问新创建的Asset对象的public_filename方法,便可获得形如http://s3.amazonaws.com/mybucketname/assets/1/file.ext这样的URL。

Continue reading»

Archives: Monthly or