Chrome和IE中的混合内容

时间:2014-11-26 12:14:51

标签: google-chrome security iframe https mixed-content

在我启用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(加载混合内容而不发出任何警报)?

注意:我没有更改任何浏览器设置。

6 个答案:

答案 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)

enter image description here

当我设置网址时: 来自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;。