【发布时间】:2020-04-11 23:36:57
【问题描述】:
我知道这是一个已经讨论过的问题,但经过各种解决方案后,我的问题仍然存在!我有一个在 Angular 6 中开发的网络应用程序,我们称之为“ExternalApp”,其中包含一个 IFrame,其中显示页面包含在另一个应用程序中,我们称之为“InternalApp”。在 Chrome 和 Firefox 上打开 InternalApp 页面没有问题,它显示正确,但在 IE 11 上我在控制台中出现此错误:
SEC7111: HTTPS security is compromised by https://internalAppPage
我尝试以这种方式在 InternalApp 上设置响应标头:
response.setHeader("X-Frame-Options", "allow-from https://internalAppPage");
response.addHeader("Content-Security-Policy", "frame-ancestors https://internalAppPage");
我了解 X-Frame-Options 在 Chrome 和 Firefox 上被 Content-Security-Policy 覆盖。相反,在 IE Content-Security-Policy 上不兼容,因此 X-Frame-Options 有效。 我的问题是:在 InternalApp 中设置标题是否正确?还是 ExternalApp 负责允许 url 在 IFrame 中显示?
非常感谢您的建议。
【问题讨论】:
-
尝试转到 Internet 选项->安全选项卡->自定义级别并启用“显示混合内容”选项。您可以参考此链接可能会提供有关处理混合内容的更多信息。参考:blogs.msdn.microsoft.com/ieinternals/2009/06/22/…
-
已经完成....没有变化
-
您可以尝试在开发者工具的网络选项卡中检查是否有文件使用HTTP协议。如果您发现任何问题,则可以尝试对该文件使用 HTTPS 可能有助于解决此问题。
-
是的,网络中有一个 HTTP 调用,但我的代码中没有这样做。我认为 IE 可以,但我不知道为什么以及在哪里可以修改它。
-
浏览器不会自己做任何事情。 IE 也不会这样做。你检查过它是哪种文件吗?如果可能,您可以尝试共享网络选项卡的快照。了解该 HTTP 调用会有所帮助。
标签: angular internet-explorer x-frame-options