12

我正在使用Rails应用程序来从abc.com服务页面。在这里面,我设置在我的应用控制器响应头(用于通过的before_filter每个请求),以便它可以通过iframe仅来自特定网站的访问(xyz.com),通过下面的代码:X框架选项允许从一个特定的站点允许从所有

def set_x_frame_options 
    response.headers["X-Frame-Options"] = "ALLOW-FROM http://www.xyz.com" 
end 

问题是,我不仅可以访问xyz上的abc.com网页,还可以访问任何其他网站上的网页。我想限制访问只有xyz.com。当我在chrome控制台中检查响应头时,我可以看到X-Frame-Options正在正确传递。所有浏览器都会发生这种情况。我错过了什么吗?

+0

也许相关:https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-bugs/ PkrSeB74a38 ..什么FF/IE9等?也就是说,它只是[受影响的版本] Chrome? – 2012-07-17 00:08:48

+0

另请参见http://stackoverflow.com/questions/10658435/x-frame-options-allow-from-in-firefox-and-chrome“问题是:*它看起来像发送允许从域名结果在一个不 - 对于最新的Firefox和谷歌浏览器* [无论他们当时的版本是什么],总体来说,IE8至少似乎是正确实施了ALLOW-FROM。“ ..“然而,框架仍然显示内容。” – 2012-07-17 00:11:28

+0

在发布之前,我确实检查了这两个链接。关于第一个链接,我认为是这样,但我检查了Firefox和Safari,并且都似乎允许所有,所以不知道它是否具体铬。 – 2012-07-17 16:34:48

回答

2

对于那些寻求明确答案的人:它没有在webkit中实现,但据报道,在Firefox中工作,版本号为18.0。下面的Ruby语法对我的作品在Firefox 20.0 OSX上:

response.headers["X-Frame-Options"] = "Allow-From http://www.website.com" 
+2

在Chrome中,这给了我: ''Allow-From http://www.website.com'不是公认的指令。标题将被忽略 – Meekohi 2014-12-08 00:46:25