当前位置: 首页 > 知识库问答 >
问题:

混合内容:我的网站上的Chrome blocking,但不是

越国源
2023-03-14

我有一个从HTTP RSS提要加载内容的HTTPS站点。当尝试加载图像时,Chrome /Firefox用以下消息阻止它们:

Mixed Content: The page at 'mysite.com/index.php' was loaded over HTTPS, but requested an insecure image 'http://www.example.com/2017021411050.jpg'. This request has been blocked; **the content must be served over HTTPS**.

但是,如果我在Feeldy中加载相同的提要,我可以看到所有的图像,尽管Fely的网站也是通过HTTPS加载的。在Fely案例中,浏览器只显示一个警告:

The page at 'https://feedly.com/i/subscription/feed/http://www.example.com/rss.php' was loaded over HTTPS, but requested an insecure image 'http://www.example.com/2017021411050.jpg'. **This content should also be served over HTTPS**.

为什么Feedly可以绕过混合内容块,而我得到的只是一个警告?

共有2个答案

谭富
2023-03-14

在解析RSS提要时,您还检索图像URL。

假设图像url是http://externalsite.com/someimage.jpg.

您将此URL重写为https://example.com/image?url=http://externalsite.com/someimage.jpg

现在浏览器总是通过https发出请求,你就可以摆脱这些问题。

薄鸿远
2023-03-14

Firefox和chrome都是安全浏览器,但我不确定Feedly到底是什么。Firefox和chrome阻止了他们,因为他们认为在HTTP网站中加载HTTP图像是不安全的,但Feedly并不在意,所以他认为只需发出警告就足够了。但是我知道一个解决方法,比如你得到了这个URL

http://otherdomain.com/image.jpg

这是一个HTTP,然后您可以像

https://example.com/imageserver?url= //here put your image url

这个技巧会让浏览器认为你正在通过HTTPS网址加载图像,如下所示

https://example.com/imageserver?url=http://otherdomain.com/image.jpg&hash=abcdeafad
 类似资料:
  • 网站的内容由网页构成。通常,当用户访问一个网站时,实际打开的是网站服务器上某个文件目录下的某个网页文件。 当我们在浏览器地址栏里 输入一串URL时, 浏览器就通过查找这串URL对应的“地址”, 找到网页文件,并在浏览器中渲染呈现。 URL的结构说明 URL的结构构成: 传输协议 + 服务器hostname(有时需要端口号) + path(文件路径) + 查询参数 例如,http://zh.wiki

  • 当我用HTTPS浏览我的网站时,我面临着复杂的内容问题。我从jQuery调用API,但我没有提到协议,所以假设浏览器应该选择与浏览站点相同的协议(http或https)。我的jquery代码如下所示: 在超文本传输协议中浏览站点并执行所需操作以获取结果时,它可以正常工作(能够从API调用中获取结果)。但是当我浏览站点并尝试在https中获取结果时,我在浏览器控制台中遇到了以下错误。即使我使用htt

  • 给定错误是:混合内容:“HTTPS://www.example.com/mypage.aspx”的页面是通过HTTPS加载的,但请求了不安全的XMLHttpRequestendpoint“http://www.example.com/myservice.asmx?param=paramvalue”。此请求已被阻止;内容必须通过HTTPS提供。 有什么建议吗?

  • 我试图用WebView制作一个应用程序,但是网站使用的是,但是内容(例如mp3文件)使用的是,所以Android Lollipop不会加载它,因为它是“混合内容”。我尝试使用,但它没有加载任何内容。有办法修好吗?或者我可以让所有加载的网站都使用,这样就不会显示任何错误了?

  • 我在Chrome Developer Tools中出现这个错误已经有一段时间了,我似乎就是找不到不安全的http://请求。它指向我的域,但没有https://。http://www.example.com/不是一个脚本,所以我不明白它是从哪里来的。 内容混杂:“HTTPS://www.example.com/categoy/a-product.html”页面是通过HTTPS加载的,但请求的脚本“

  • 问题内容: 我需要在我的站点中显示另一个外部站点的内容。通常标签可以做到这一点。但我的要求不是全部内容,而只是该网站的一部分。例如该网站的布局有3个部分,,,。我的意思是我只想显示一部分。我该怎么做? 我试过了,但是没有用。 问题答案: 这是由于ajax跨域安全性限制,一种技巧是从服务器设置代理脚本,该脚本从不同的站点(域)下载内容,并将该代理用作javascript中的参考。 示例:(proxy