2017-02-20 33 views
0

我有一個HTTPS網站,從HTTP RSS源中加載內容。當試圖與此消息加載圖片時,Chrome/Firefox的塊他們:混合內容:Chrome阻止<img>在我的網站,但不是

 
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相同的飼料,我可以看到,儘管資訊提供ly的網站也通過HTTPS加載的所有圖像。在資訊提供ly情況下,瀏覽器顯示只是一個警告:

 
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**. 

爲什麼資訊提供ly可以繞過混合內容塊和越來越只是一個警告,而我'得到一個塊?

回答

-1

解析RSS提要時,您也正在檢索圖像URL。

可以說圖像的網址是http://externalsite.com/someimage.jpg

您將此URL改寫爲https://example.com/image?url=http://externalsite.com/someimage.jpg&hash=1234567

現在,瀏覽器總是通過https發出請求,並且您擺脫了這些問題。

+0

感謝您的答案,但沒有問這個問題。問題是關於Feedly的技術繞過MC塊。 Feedly似乎不像圖像的代理。 – AitorF

+0

@AitorF因此,圖像的src是http://,並且在使用HTTPS加載時不會給出任何混合內容錯誤? –

+0

對!在Feedly中,但在我的情況下,我得到一個很大的紅色錯誤。 – AitorF

0

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 
+0

我知道MC和瀏覽器是如何工作的,但關鍵是爲什麼Feedly(一個在線RSS閱讀器,像我這樣的Web應用程序)能夠獲得HTTP圖像只是一個衰退,而對於相同的圖像我得到一個塊。他們用什麼技術繞過阻塞? – AitorF

+0

這是字面上的複製粘貼我的答案lmao –

+0

oh melvin Koopmans我是新來的這個stackoverflow,我想我們同時發佈相同的答案,因爲在我回答這個問題時沒有其他答案所以我對重複的答案表示歉意 –