在我启用HTTPS的网站中,我添加了一个iframe,该iframe应该显示来自我的其他网站的内容,但它无法在https下运行。
<iframe src="//myothersite.com"></iframe>
在Firefox最新版本中,一切运行良好。
在Chrome中,未加载iframe,在控制台中我看到了这两个错误
Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
在IE内容加载错误,我看到一条警告消息;如果我单击“允许不安全内容”,则会正确加载。
问题是:我如何在Firefox中使用IE和Chrome(加载混合内容而不发出任何警报)?
注意:我没有更改任何浏览器设置。
答案 0 :(得分:16)
实际上Firefox已经开始做同样的事了:How to fix a website with blocked mixed content
这很有道理。如果用户使用HTTPS访问某个站点,则希望获得安全的体验,并且他可能不知道在不安全的连接下加载的部分应用程序。这就是浏览器阻止这种不一致的原因。
您需要在myothersite.com上提供HTTPS。
答案 1 :(得分:10)
显然,最好不要使用混合内容来防止MITM攻击,但对于那些无法控制网址的人来说,这应该可以解决问题:
将 src =&#34; http://linkToUrl.com" 更改为
<强> SRC =&#34; // linkToUrl.com/script.js" 强>
答案 2 :(得分:1)
当我设置网址时:
来自https请求的<a href="http://127.0.0.1:8080/download/1.txt"></a>
,它报告错误:
混合内容:'https://127.0.0.1/index.html'
上的页面是通过HTTPS加载的,但请求了不安全的资源'http://127.0.0.1:8080/download/1.txt'
。
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
当我将target="_blank"
添加到网址:<a target="_blank" href="http://127.0.0.1:8080/download/1.txt">
时,它可以正常工作! , 有用!
众所周知,target="_blank"
意味着在新窗口或标签页或新请求中打开链接文档!
答案 3 :(得分:1)
对不起,这不像其他答案那样具有技术性,但我在链接jsquery时遇到了同样的问题,对我来说,只需将http://
更改为{{1 }}。它可能不起作用,但它对我有用,它可能对你有用。
答案 4 :(得分:0)
问题是混合内容,浏览器不允许我们这样做。
您需要更改网址:
private void ListView_Checked(object sender, RoutedEventArgs e) => lv.Tag = true;
到
<ListView x:Name="lv" ToggleButton.Checked="ListView_Checked">
<ListView.ItemTemplate>
...
<ListView.ItemTemplate>
</ListView>
<RadioButton Padding="15,10" VerticalAlignment="Center">
<RadioButton.Style>
<Style TargetType="RadioButton" BasedOn="{StaticResource styleToggleButton4}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lv, Path=Tag}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</RadioButton.Style>
<TextBlock FontWeight="SemiBold" FontSize="14" Margin="0">NEXT</TextBlock>
</RadioButton>
答案 5 :(得分:0)
我对CloudFlare有其他复杂功能,因为文件已缓存为http,所以无法加载。只需去CloudFlare和#34;清除一切&#34;在缓存选项卡中,或者打开&#34;开发模式&#34;。