【问题标题】:How to Restrict a SAML 302 Redirect to an IFRAME?如何限制 SAML 302 重定向到 IFRAME?
【发布时间】:2024-01-02 13:00:01
【问题描述】:

是否可以在随后返回 302 重定向的 IFRAME 中加载内容,而无需将整个浏览器窗口重定向到目标? IE。限制重定向到 IFRAME 本身?如果有,怎么做?

EDIT1:重申...我有一个 IFRAME,其来源是一个自发布的表格。该操作将 302 返回到其他地方。发生这种情况时,整个页面都会重定向。我想要的是只有 IFRAME 重定向,不理会周围的页面。

EDIT2:为了进一步澄清,这是一个 SSO SAML 实现。 IFRAME 内容应包含新登录的应用程序。 SSO 工作正常,但整个浏览器页面重定向到应用程序,丢失包含页面。 SAML 方面可能不会改变应用程序“框架破坏”的诊断,但它可能会引发其他一些想法。

【问题讨论】:

  • 嗯?您想要的已经是标准行为。还是你的意思是别的?你能详细说明一下吗?
  • @Pekka - 我想我不清楚。重申问题。
  • 这绝对不应该发生。可以发一个在线例子吗?
  • @Pekka - 不幸的是,不,我无法发布示例。也许我误读了正在发生的事情;您和@Martin 似乎同意我所描述的内容是不可能的,所以我会看看我是否可以从我正在 IFRAME 的页面的所有者那里找到更多信息,在这种情况下,我会在这里发布更多信息。谢谢。
  • 向问题添加了有关 SAML SSO 的信息。

标签: http iframe redirect single-sign-on saml


【解决方案1】:

不可能将 302 重定向限制到 iframe 本身。 在 iframe 中发生的 HTTP 重定向永远不会影响包含页面。您所要求的已经是您将看到的唯一行为。

重定向目标页面上可能有一个框架破坏脚本。很难防止 iframe 爆发,但 there are tricks 也可以处理。

【讨论】:

  • @Martin - 当我只想重定向 IFRAME 内容时,我看到的是整个页面重定向。
  • 我会继续挖掘并尝试从重定向页面的所有者那里获得更多信息。也许还有 发生了其他事情。如果我有任何信息,我会发布更多信息。谢谢。
  • 对于 HTML5,iframe 标签有 sandbox 属性。看起来工作正常。
【解决方案2】:

我敢打赌,您正在处理重定向目标页面末端的基于 JavaScript 的“Frame buster”。您必须将其关闭,或者将其关闭。

【讨论】:

  • @Pekka - 这是可能的。我添加了说明这是 SAML SSO 情况的信息。我会看看我是否可以找出 SSO 目标应用程序是否破坏帧。
  • @bill 关闭 JavaScript(例如,使用 Firefox 中的 Web 开发人员工具栏)并查看行为是否仍然存在。也可以在表单中设置 target='_top' 属性,这将在没有 JavaScript 的情况下转义 iframe。
  • +1 - 是的,加载的页面上存在帧破坏。接受@Martin 的回答,因为它是第一次。