密码保护Mongrel在开发模式

时间:2011-03-23 22:30:14

标签: ruby-on-rails security mongrel

我有一个客户担心有人可能会发现我们的开发服务器的IP并尝试在发布之前窃取新功能。 (因为我们有外部链接和嵌入,所以可以在测试时跟踪)。我一直在寻找一种只在开发模式下密码保护服务器的方法(我不想在每次部署之前更改代码)。我正在考虑通过以下控制器进行超级基本身份验证:

if RAILS_ENV == "development"
  collect = require_password #some action or method or something here... Figure it out later...
  if collect != "foobar"
    redirect_to "http://www.google.com"
  end
end

我觉得这样做是一种奇怪的愚蠢方式,但是,它并不像我们需要史诗般的安全性,只是为了让那些可能在开发模式中偶然发现网站的人感到沮丧。

1 个答案:

答案 0 :(得分:1)

在您的控制器中添加以下行

  USER_NAME, PASSWORD = "user", "password"
  before_filter :authenticate_testing

before_filter的代码如下所示

 def authenticate_testing
   if Rails.env.development?
    authenticate_or_request_with_http_basic do |user_name, password|
      user_name == USER_NAME && password == PASSWORD
    end
   end
 end