原文: http://blog.ashchan.com/archive/2008/03/29/protect-rails-apps-svn-folder/
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