【问题标题】:Is there any other way to block an iframe other than 'x-frame-options' 'sameorigin'除了 'x-frame-options' 'sameorigin' 之外,还有其他方法可以阻止 iframe
【发布时间】:2015-10-27 12:06:26
【问题描述】:

我在一家拥有 Rails 应用程序的公司工作,通常我们希望阻止我们的大部分控制器操作嵌入到 iframe 中,但是我们的一些客户要求将某些页面嵌入到 iframe 中。

Rails 4 默认将 'x-frame-options' 设置为 'sameorigin' 所以我的解决方案是在 http referer 与客户端提供给我们的 url 匹配时删除 'x-frame-options' 标头。我删除 x-frame-options 而不是将其设置为 'allow-from [url]' 的原因是因为某些相对不支持 'allow-from'

我的老板认为这不是最安全的解决方案,因为某些较旧的浏览器不支持 x-frame-options。

是否有某种方法可以检测控制器操作是否嵌入到 iframe 中,而我可以使用内置的 rails 方法检测到?

【问题讨论】:

    标签: ruby-on-rails-4 iframe x-frame-options


    【解决方案1】:

    你可以使用javascript,看看窗口是否匹配顶层窗口

    var inIframe = window !== window.top; // true if in iframe false otherwise
    

    【讨论】:

    • 谢谢,你不知道在控制器中有没有办法做到这一点?
    • AFAIK 无法在控制器(服务器端)中完全做到这一点,但也许是这样的? stackoverflow.com/questions/4495135/…
    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    相关资源
    最近更新 更多