如何将密码保存在公开可见的代码之外?

时间:2010-11-06 05:27:57

标签: ruby-on-rails security ruby-on-rails-3

我有一个我正在尝试部署的应用程序,有些关于安全性的问题。有没有办法避免在setup_mail中以纯文本格式存储我的电子邮件密码,在environment.rb中存储我的数据库密码?

1 个答案:

答案 0 :(得分:4)

您可以将密码作为文件存储在部署服务器上,然后在database.yml(或者您拥有敏感数据的任何地方)中提供相应的内容:

production:
  adapter: mysql
  host: localhost
  database: foobar_production
  username: foobar
  password: <%= begin IO.read("/home/deploy/passwords/foobar.db") rescue "" end %>

...其中foobar.db是一个只包含密码的纯文本文件。