我有一个带有JavaScript的HTTP页面,它向页面添加了一个iframe。iframe指向HTTPS页面。在IE11开发人员控制台中,会出现以下错误:
SEC7111:https://www.example.com破坏了HTTPS的安全性。
当HTTPS页面加载HTTP资源时,这不是典型的混合内容浏览器警告。这正好相反( HTTP页面上的HTTPS资源)。Chrome和Firefox在这个页面上都没有给出任何警告。只是IE11给出了错误。我的IE11设置是提示混合内容,但是它实际上不是提示符,而是实际加载HTTPS。IE11中混合内容的唯一指示是开发人员控制台中的错误。
问题1:在HTTP页面上拥有HTTPS资源会导致问题吗?是否还有其他浏览器拒绝加载iframe或显示消息/对话框,提示是否加载混合内容?理想情况下,我希望iframe加载并且不存在任何浏览器警告。我的直觉是,在HTTP页面上加载HTTPS内容应该是正常的,这就是为什么Firefox和Chrome没有显示任何消息。
有趣的是,我遇到了一些带有HTTPS脚本标记的HTTP网页。例如,HTTP页面上指向https://apis.google.com/js/plusone.js的脚本标记。IE11不会在此页面的开发人员控制台中出现任何错误。因为script
标记和iframe
标记都被认为是混合的“活动”内容标记,我希望IE11也会为这个HTTPS脚本标记引发一个错误,但它不会。问题2,为什么在这种情况下IE11没有报告混合内容错误?
发布于 2018-04-08 09:27:44
对于来自不同域的HTTPS iFrame,可以访问两个不同的信息源。Microsoft在开发人员控制台中的错误消息的目的可能只是提醒没有经验的开发人员,HTTPS iFrame中的信息源可能需要更好的保护。
对于HTTPS脚本,除了主HTTP页面之外,不访问其他信息源,因为来自第三方域的脚本通常用于加载库。在这种情况下,没有安全的信息源需要更好的保护。
另外,我认为从HTTP页面加载HTTPS iFrames、脚本和资源仍然是可取的,因为它可以防止对主干和互联网提供商级别的攻击。
https://security.stackexchange.com/questions/106505
复制相似问题