Profiel van ash又知易行难了Foto'sWeblogLijsten Extra Help

Weblog


    保护Rails应用的svn目录

    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的开源社会性网络平台

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

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

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

    下载并阅读Ruby code中。

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

    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。

     
    *