我找到了很多关于如何删除 X-Frame-Options SAMEORIGIN 的答案,但我一直无法找到如何添加它的正确答案。
该应用程序位于 Heroku 上,并在 Rails 2.3.15 (nginx) 下运行。我不认为它是 Sinatra 应用程序(我之所以这么说只是因为没有 config.ru。一位朋友为我构建了该应用程序,但他现在无法提供帮助,所以我不肯定。)
我尝试将以下内容添加到 /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 标头。
您可能会说,我几乎不知道我在说什么,所以请随时与我交谈,就像我在您的回答中是一个 n00b 一样。:-)
-=-=- 编辑 -=-=-=-
自己想出来为应用程序本身提供的页面添加 http 标头。
将此添加到 /app/controllers/application_controller.rb :
before_filter :default_headers
def default_headers headers['X-Frame-Options'] = 'SAMEORIGIN' end
仍然不知道如何将它添加到我在应用程序外部的几个页面中,在 /public/ 中,所以在这方面欢迎指针。