Sinatra:数据隐藏方法

时间:2014-08-20 17:05:24

标签: ruby email heroku sinatra

我有一个使用heroku和github部署的Sinatra应用程序。我用一个表格发送电子邮件,处理如下:

post '/send' do 
Pony.mail(
  :to => "**my_email**",
  :from => "**my_email**",
  :body => "Hi",

  :via => :smtp,
  :via_options => { 
    :address              => 'smtp.gmail.com', 
    :port                 => '25', 
    :enable_starttls_auto => true, 
    :user_name            => '--**MY_USERNAME**--', 
    :password             => '--**MY_PASSWORD**--', 
    :authentication       => :plain
  })
end

当然每个人都可以从github看到我的用户名和密码。如何在没有数据库的情况下隐藏登录详细信息? 在其他人的代码中,我继续看到这种方法:

ENV['SENDGRID_USERNAME']

我阅读了sendgrid是什么,我认为我的应用程序只有一个表单我不需要它。 还有其他选项可以从web和github隐藏我的数据吗?

1 个答案:

答案 0 :(得分:1)

查看设置环境变量(你在正确的轨道上)。

请参阅此处如何在Heroku上设置环境变量:

https://devcenter.heroku.com/articles/config-vars

设置环境变量(EMAIL_USERNAME)后,您可以使用以下代码从代码中访问它:

email_username = ENV['EMAIL_USERNAME']
email_password = ENV['EMAIL_PASSWORD']