2014-02-23 25 views
1

我发现了很多关于如何删除X-Frame-Options SAMEORIGIN的答案,但我一直无法找到如何添加它的正确答案。将X-Frame-Options添加到heroku导轨2.3.15 app

该应用程序在Heroku上运行Rails 2.3.15(nginx)。我不认为这是一个Sinatra应用程序(我只是说这只是因为没有config.ru。一个朋友为我建立了应用程序,他现在无法帮忙,所以我不积极)。

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

config.action_dispatch.default_headers = { 'X-框架 - 选项'=> '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 

仍然不知道如何将它添加到我outsite应用了几页,在/ public /,所以指针欢迎在这方面。

+1

嗨@StefanLasiewski,我试过了,但被告知通过错误消息,我不得不等待> = 8小时之前这样做。错误消息包括一个建议,通过编辑的方式添加答案到初始文章,所以我做了。 :-) – ohsurewhynot

+0

哦,但这让它在'未应答'过滤器中陷入困境。定影... – ohsurewhynot

回答

1

自己找出来为应用本身提供的页面添加http头。

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

的before_filter:default_headers

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

仍然不知道如何将它添加到我outsite应用了几页,在/ public /,所以指针欢迎在这方面。