网站死了。 “需要采取行动:Rails安全漏洞”

时间:2013-01-12 15:53:25

标签: ruby-on-rails ruby-on-rails-3 git github refinerycms

我的网站目前已经死亡,因此我无法解释这对我来说有多紧急。

情况:几天前我收到了来自Heroku的电子邮件“需要采取行动:Rails安全漏洞”,建议我更新版本为“3.2.11”。在我按照电子邮件中的所有步骤后,我尝试打开我的网站。当我看到我无法打开我的网站时,我感到非常惊讶。我的网站是使用RefineryCMS制作的。

是否有可能使用git将我的网站恢复到之前一切正常工作的时间点?

当我在本地运行该网站时,我收到以下错误:

  

Refinery中的ActiveRecord :: RecordNotFound :: PagesController #home

     

找不到具有id = torte-za-rodendan

的Refinery :: Page

...

  

app / views / stranice / naslovnica / _favourite_products.html.erb:7:in`_app_views_stranice_naslovnica__favourite_products_html_erb__4156700835010289094_66485000'

     

app / views / refinery / pages / home.html.erb:16:in`_app_views_refinery_pages_home_html_erb ___ 2482419061129865361_67

1 个答案:

答案 0 :(得分:3)

是的,我们都收到了来自Heroku的电子邮件。

由于您的网站之前使用git进行了版本控制,因此您可以按照these steps撤消上次提交。

但是,我不确定你是否真的需要这样做。你只需要确保你的heroku应用程序在rails 3.2.11上运行 - 这是一个非常严重的安全问题,也许heroku甚至会阻止那些升级不够快的网站。

请按照以下步骤操作:

  • 运行测试并确保一切正常
  • 通过git(git checkout -b new_rails
  • 打开一个新分支
  • 在Gemfile中更改Rails 3.2.11
  • 在environment.rb
  • 中将RAILS_GEM_VERSION更改为“3.2.11”
  • 运行bundle update rails
  • 运行测试并查看一切是否仍然有效
  • 如果没有,请通过git checkout master反向回旧分支;可选择通过执行git branch -D new_rails
  • 删除新分支

仅在新分支上执行此操作可确保不会中断。

如果您之后仍然遇到错误,请告诉我们heroku日志中的内容。