ruby-on-rails - 将 X-Frame-Options 添加到 Heroku Rails 2.3.15 应用程序

标签 ruby-on-rails heroku x-frame-options

我找到了许多关于如何删除 X-Frame-Options SAMEORIGIN 的答案,但我一直无法找到如何添加它的正确答案。

该应用程序位于 Heroku 上,并在 Rails 2.3.15 (nginx) 下运行。我不认为这是一个 Sinatra 应用程序(我这样说只是因为没有 config.ru。一个 friend 为我构建了该应用程序,但他现在无法提供帮助,所以我不肯定。)

我尝试将以下内容添加到/app/controllers/application_controller.rb,但它只是使每个页面返回 503:

config.action_dispatch.default_headers = { 'X-Frame-Options' => 'SAMEORIGIN' }

当失败时,我在同一个文件中尝试了这个语法:

def set_x_frame_options
  response.headers["X-Frame-Options"] = "SAMEORIGIN"
end

这似乎没有破坏任何东西,但也没有添加新的 http header 。

正如您可能知道的那样,我几乎不知道我在这里在说什么,所以请随意跟我说话,就像我在您的回答中是一个n00b一样。 :-)

-=-=- 编辑-=-=-=-

我自己想出了为应用程序本身提供的页面添加 http header 的方法。

将此添加到/app/controllers/application_controller.rb:

before_filter :default_headers

def default_headers
  headers['X-Frame-Options'] = 'SAMEORIGIN'
end

仍然不确定如何将其添加到我在应用程序外部的/public/中的几个页面,因此欢迎在这方面提出建议。

最佳答案

我自己想出了为应用程序本身提供的页面添加 http header 的方法。

将此添加到/app/controllers/application_controller.rb:

before_filter :default_headers

def default_headers
  headers['X-Frame-Options'] = 'SAMEORIGIN'
end

仍然不确定如何将其添加到我在应用程序外部的/public/中的几个页面,因此欢迎在这方面提出建议。

关于ruby-on-rails - 将 X-Frame-Options 添加到 Heroku Rails 2.3.15 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975860/

相关文章:

mysql - 无法使用 MySQL 在 Windows 上运行 Rails 服务器

ruby-on-rails - 验证 Ruby on Rails 中 has_many 项的数量

ruby-on-rails - 没有进程运行时端口 80 显示已在使用

Heroku 预引导翻转时间

security - 我应该为哪些 Content-Type 设置与安全相关的 HTTP 响应 header ?

html - X-Frame-options 是否也适用于本地文件?

ruby-on-rails - 从不包含 'http' 的字符串中提取 URL

python - 为什么项目可以部署在heroku上

heroku - 为 Rails 4 应用程序加速 Heroku 部署

asp.net - 如何绕过 X-Frame-Options : SAMEORIGIN HTTP Header?