天天看點

讓 Chrome 不再顯示 https 頁面中的 http 請求警報

讓 Chrome 不再顯示 https 頁面中的 http 請求警報

https 是 http over secure socket layer,以安全為目标的 http 通道,是以在 https 承載的頁面上不允許出現 http 請求,一旦出現就是提示或報錯:

mixed content: the page at ‘https://www.taobao.com/‘ was loaded over https, but requested an insecure image ‘http://g.alicdn.com/s.gif’. this content should also be served over https.

https改造之後,我們可以在很多頁面中看到如下警報:

讓 Chrome 不再顯示 https 頁面中的 http 請求警報

很多營運對 https 沒有技術概念,在填入的資料中不免出現 http 的資源,體系龐大,出現疏忽和漏洞也是不可避免的。

<a target="_blank"></a>

在我們伺服器的響應頭中加入:

<code>header("content-security-policy: upgrade-insecure-requests");</code>

讓 Chrome 不再顯示 https 頁面中的 http 請求警報

不過讓人不解的是,這個資源發出了兩次請求,猜測是浏覽器實作的 bug:

讓 Chrome 不再顯示 https 頁面中的 http 請求警報

當然,如果我們不友善在伺服器/nginx 上操作,也可以在頁面中加入 <code>meta</code> 頭:

<code>&lt;meta http-equiv="content-security-policy" content="upgrade-insecure-requests" /&gt;</code>

目前支援這個設定的還隻有 chrome 43.0,不過我相信,csp 将成為未來 web 前端安全大力關注和使用的内容。而 <code>upgrade-insecure-requests</code> 草案也會很快進入 rfc 模式。

本文來自雲栖社群合作夥伴“linux中國”,原文釋出日期:2015-09-07

繼續閱讀