ruby-on-rails - X-Frame-Options ALLOW-FROM 特定站点允许所有

标签 ruby-on-rails google-chrome iframe http-headers x-frame-options

我正在使用 rails 应用程序来提供来自 abc.com 的页面。在其中,我在我的应用程序 Controller 中设置了响应头(对于通过 before_filter 的每个请求),以便它只能通过 iframe 从特定站点 (xyz.com) 访问,通过以下代码:

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 正在正确传递。这发生在所有浏览器中。我错过了什么吗?

最佳答案

对于那些寻求明确答案的人:它没有在 webkit 中实现,但据报道从版本 18.0 开始在 Firefox 中工作。 .以下 ruby​​ 语法适用于 OSX 上的 Firefox 20.0:

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

关于ruby-on-rails - X-Frame-Options ALLOW-FROM 特定站点允许所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514270/

相关文章:

ruby-on-rails - 如何在 rake 多任务中传递不同的参数

javascript - XHR.getAllResponseHeaders() 不会像 Chrome 60 中预期的那样返回 header

jquery - 动态显示更改 iframe 滚动

javascript - 更改 iframe url 会更改父窗口 url

ios - UIPrintInteractionController 始终显示当前 WKWebView 而不是 iFrame 内容

ruby-on-rails - 检查模型是否可确认

ruby-on-rails - 从外部表单接收POST

ruby-on-rails - before_filter 运行多个方法

javascript - 如何用 JavaScript 模拟按键或点击?

html - 在 Android/iPhone 上安装 Google Chrome Canary