绕过 X-Frame-Options

3
我正在开发一个案件管理系统,需要执行一系列客户检查。在当前系统中,用户需要访问外部网站,截取相关信息的屏幕截图,返回到系统并将该屏幕截图附加到客户文件中。目标是使这个过程更加高效。
老板想要使用iframe在我们的网站上显示必要的检查网站。问题是其中一些外部网站设置了X-Frame选项为拒绝。我看到的任何解决方法似乎都存在漏洞,也许甚至不合法。我正在寻找一个安全、合法的解决方案。这包括付费解决方案。
我将联系相关公司,看看是否可以以某种方式支付来解除iframe阻止,但其中一些是重要的政府机构,所以我并不太有信心。因此,我正在寻找任何其他想法来解决这个问题?

如果你可以轻松地通过使用HTML和/或JavaScript绕过这个问题,那么头文件就完全没有意义了。可能有浏览器扩展来绕过/忽略它(但这当然需要在每个客户端浏览器上安装)。 - CBroe
1
每个浏览器上的安装都应该没问题。我目前有一个扩展程序可以正常工作。我的唯一担忧是基于这个扩展实现系统,只为了移除扩展或补丁使扩展无用。我这样想是对的吗?抱歉,我才上班第二周。 - user7435243
绕过此类限制的浏览器扩展程序很可能大多数情况下是为开发人员使用而非最终用户的“解决方案”。但我并不认为它们应该被突然停止或取消。 - CBroe
没问题,谢谢。你知道这样的扩展是否合法吗?如果开发人员不希望他们的网站被嵌入,使用扩展来嵌入它是否违法?很难找到相关信息。 - user7435243
2
不,我不会说“非法”。(你可能正在使用一个尚未实现此功能并因此忽略X-Frame-Options标头的旧浏览器,因此它仍会在框架中显示这些站点 - 这不应该使你成为“罪犯”,对吧?)只要您在更或多少封闭的系统中为有限的用户群体执行此操作,而不是在公共网站上执行此操作,我认为这不是问题。 - CBroe
2个回答

1
您可以使用我的X-Frame-Bypass Web组件绕过X-Frame-Options标头。它通过使用CORS代理扩展<iframe>元素,在最新的Firefox和Chrome浏览器中运行。

这个解决方案很棒(至少在Chrome中)。只是有一个警告,如果我尝试与Vue应用程序集成它对我不起作用(并且在Github存储库中提交的一个问题说它不适用于Angular,但会抛出一个与我看到的不同的错误)。 - ultrageek

-1

由于您的老板只需要在他的机器上绕过X-Frame-Options头,您可以尝试一些浏览器扩展程序来删除该头。

请注意,这不是打开iframe内网站的唯一注意事项。打开各种网站内嵌到iframe中是非常具有挑战性的。

既然您要求绕过X-Frame-Option头,请安装Chrome/Firefox扩展程序,例如

并设置规则以删除此头。请阅读本文:使用扩展程序绕过Iframe Busting Header


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接