【问题标题】:How can I disable the same origin policy iframe port restriction in firefox 48?如何在 Firefox 48 中禁用同源策略 iframe 端口限制?
【发布时间】:2017-01-03 15:11:36
【问题描述】:

Firefox 48 有一个新的安全限制,如果端口不同,它会阻止 iframe 中的 javascript 调用。有没有办法在 about:config 或其他一些设置中禁用它(基本上禁用同源策略)?

我在一个企业网站上工作。该站点有一个类似 a.site.com:12345 的页面,其中有一个 iframe b.site.com:12346。我们正在为两个页面设置 document.domain=".site.com"。 b.site.com iframe 能够对父窗口进行 javascript 调用并访问 a.site.com dom。这适用于所有当前版本的浏览器,并且适用于 firefox 47 及更低版本。新的 Firefox 48 不允许这些调用,因为端口不同。

我们的生产环境很好,因为在 prod 中所有服务器都使用相同的 SSL 端口,但在我们的测试环境中,所有服务器都使用不同/非标准的 SSL 端口。这意味着如果不将代码移至生产环境,我们将无法测试 firefox 48,并且正在停止测试工作。虽然禁用同源策略是不可取的,但总比不测试要好。如何禁用此新的安全限制?

【问题讨论】:

  • According to MDN,为两个站点设置document.domain 应将端口设置为null,从而使框架能够相互访问。我唯一能想到的是 site.com 可能是必需的,而不是 .site.com,但这只是一个猜测......
  • 感谢您的回复。我确实已经尝试过使用 site.com,但这并没有帮助。将查看是否有某种方法可以将端口设置为空。 IE 上没有问题,它唯一的 Firefox 48+ 似乎有问题。我真的想知道这是否是 ff 48 错误。
  • 如果您遵循 MDN 上的确切说明并获得不同的结果,我会继续将其报告为错误。最坏的情况是什么?
  • 我也开始沿着同样的思路思考。 mozillas 自己网站上的文档说在父框架和子框架中设置 document.domain 会使端口为空。预感我下载了计划于 9 月 13 日发布的夜间开发者 firefox 49 版本。你瞧,一切正常。我在他们的跟踪器中找不到确切的错误,但我确定这是 FF48 错误,并且看起来它已在 49 中修复!谢谢!

标签: security firefox same-origin-policy


【解决方案1】:

该问题已在 firefox 49 nightly beta 版本中得到修复。看起来这只是一个 Firefox 48 问题。

【讨论】:

    猜你喜欢
    • 2013-06-09
    • 2015-01-22
    • 2017-12-27
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2015-12-27
    • 2014-07-07
    相关资源
    最近更新 更多