当前位置: 首页 > 面试题库 >

如何在https网站的iframe中允许http内容

东门仲卿
2023-03-14
问题内容

我将一些HTML加载到iframe中,但是当引用的文件使用http而不是https时,出现以下错误:

[已屏蔽] {current_pagename}中的页面运行了来自{referenced_filename}的不安全内容

有什么办法可以关闭它或解决它吗?

iframe没有src属性,其内容使用以下方法设置:

frame.open();
frame.write(html);
frame.close();

问题答案:

注意:虽然该解决方案在2014年编写时可能已在某些浏览器中运行,但不再起作用。iframe现代浏览器不允许导航或重定向到HTTPS页面中嵌入的HTTP URL ,即使框架以HTTPS URL开始也是如此。

我创建的最好的解决方案是简单地使用google作为ssl代理…

https://www.google.com/search?q=%http://yourhttpsite.com&btnI=Im+Feeling+Lucky

经过测试并在Firefox中工作。

其他方法:

  • 使用诸如embed.ly之类的第三方(但这实际上仅对众所周知的http API有用)。

  • 在您控制的https页面上创建自己的重定向脚本(在相对链接的页面上执行简单的javascript重定向就可以解决问题。例如:(您可以使用任何langauge /方法)

https://example.com 有一个iframe链接到…

https://example.com/utilities/redirect.html 其中有一个简单的js重定向脚本,例如…

document.location.href ="http://thenonsslsite.com";
  • 或者,您可以添加RSS feed或编写一些阅读器/解析器以读取http站点并将其显示在https站点内。

  • 您也可以/应该向http站点所有者推荐他们创建ssl连接。如果没有其他原因,它会增加seo。

除非您可以让http网站所有者创建ssl证书,否则最安全和永久的解决方案是创建一个RSS feed,以获取所需的内容(假定您实际上并没有在http网站上“做任何事”-即说不登录任何系统)。

真正的问题是,在https站点内包含http元素表示安全问题。没有完全消除这种安全风险的方法,因此上述内容只是当前的解决方法。

请注意,您可以在大多数浏览器(您自己,而不是其他浏览器)中禁用此安全措施。还要注意,随着时间的流逝,这些“黑客”可能会过时。



 类似资料:
  • 问题内容: 从现在的Android 9 Pie开始,没有加密的请求将永远无法使用。默认情况下,系统会期望您默认使用TLS。您可以在此处阅读此功能,因此,如果您仅通过HTTPS发出请求,则很安全。但是,通过不同站点发出请求的应用程序(例如类似浏览器的应用程序)呢? 如何在Android 9 Pie中启用对所有类型的连接HTTP和HTTPS的请求? 问题答案: 实现此目的的简单方法是在允许所有请求全部

  • 从现在的Android 9派,没有加密的请求将永远不会工作。并且在默认情况下,系统会期望您默认使用TLS。您可以在这里阅读此功能,因此如果您只通过HTTPS发出请求,您是安全的。但是那些通过不同站点发出请求的应用程序呢,例如,类似浏览器的应用程序。 如何在Android9 Pie中启用对所有类型的连接HTTP和HTTPS的请求?

  • 我试图从JS/Ajax向我的WebAPI发出请求时遇到了问题。在我的解决方案中,我有一个发布在srv02:2400上的Web API,我的网站发布在srv02:2300上 当我导航到页面时http://srv02:2300/all-请求。aspx,页面加载正常,除了应该来自我的API的数据 我得到了一个错误: 但是,如果我把url超文本传输协议://srv02:2400/api/请求/查找/1粘贴

  • 问题内容: 任何人都知道是否可以使用PHP检查网站是否在iframe中。 我知道使用javascript是可能的,但是我找不到使用PHP的任何示例? 问题答案: PHP永远不在iframe中。PHP在服务器端执行,并生成HTML,Javascript或文本之类的输出。PHP生成的输出可能会产生或驻留在iframe中,但PHP本身不会。 更多细节 关于您在注释中添加的其他详细信息(您希望在直接向站点

  • 问题内容: 我使用下面的代码作为示例菜单。 当我在IE浏览器中运行以上代码时,它显示页面顶部(URL栏下方),例如 “为了帮助保护您的安全,Internet Explorer限制了该网页的运行脚本或Activex控件,这些脚本或Activex控件可以访问您的计算机。单击查看选项。” 当我右键单击并单击允许的被阻止内容时,它会运行。但是我想要没有此弹出消息,我需要运行代码…如何自动运行此代码? 问题

  • 我在javascript中使用Reactjs和通过AJAX使用API。我们如何解决这个问题?以前我使用CORS工具,但现在我需要启用CORS。