我将一些 HTML 加载到 iframe 中,但是当引用的文件使用 http 而不是 https 时,出现以下错误:
[已阻止] {current_page name} 处的页面运行来自 {referenced filename} 的不安全内容
有什么方法可以关闭它或有什么方法可以绕过它吗?
iframe 没有src
属性和内容使用以下方式设置:
frame.open();
frame.write(html);
frame.close();
Note:虽然这个解决方案在 2014 年编写时可能在某些浏览器中有效,但它不再有效。导航或重定向到 HTTP URLiframe
现代浏览器不允许嵌入 HTTPS 页面,即使该框架以 HTTPS URL 开头。
我创建的最佳解决方案是简单地使用 google 作为 ssl 代理...
https://www.google.com/search?q=%http://yourhttpsite.com&btnI=Im+Feeling+Lucky
已在 Firefox 中测试并运行。
其他方法:
使用第三方,例如 embed.ly(但它实际上只适用于众所周知的 http API)。
-
在您控制的 https 页面上创建您自己的重定向脚本(相对链接页面上的简单 javascript 重定向应该可以解决问题。类似于:(您可以使用任何语言/方法)
https://example.com
它有一个 iframe 链接到...
https://example.com/utilities/redirect.html
其中有一个简单的 js 重定向脚本,例如...
document.location.href ="http://thenonsslsite.com";
或者,您可以添加 RSS 提要或编写一些阅读器/解析器来读取 http 站点并将其显示在您的 https 站点中。
您还可以/应该建议 http 站点所有者创建 ssl 连接。如果没有其他原因的话它增加了搜索引擎优化 http://www.zdnet.com/google-confirms-its-giving-https-sites-higher-search-rankings-7000032428/.
除非您可以让 http 站点所有者创建 ssl 证书,否则最安全且永久的解决方案是创建一个 RSS 提要来获取您需要的内容(大概您实际上并没有在 http 站点上“做”任何事情 - 也就是说说不登录任何系统)。
真正的问题是,在 https 站点中包含 http 元素会带来安全问题。没有完全解决此安全风险的方法,因此上述只是当前的解决方法。
请注意,您可以在大多数浏览器中禁用此安全措施(您自己,而不是其他人)。另请注意,这些“黑客”可能会随着时间的推移而过时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)