我找到了许多关于如何删除 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/