?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
HTTP Content-Security-Policy
(CSP)upgrade-insecure-requests
指令指示用戶代理將所有站點(diǎn)的不安全URL(通過(guò)HTTP提供的URL)視為已被替換為安全URL(通過(guò)HTTPS提供的URL)。此指令適用于需要重寫大量不安全的舊版URL的網(wǎng)站。
upgrade-insecure-requests
指令在之前被評(píng)估block-all-mixed-content
,如果被設(shè)置,后者實(shí)際上是沒(méi)有操作的。建議設(shè)置一個(gè)指令或另一個(gè)指令,但不能同時(shí)設(shè)置。
upgrade-insecure-requests
指令不會(huì)確保通過(guò)第三方網(wǎng)站上的鏈接訪問(wèn)您的網(wǎng)站的用戶將升級(jí)到頂級(jí)導(dǎo)航的HTTPS,因此不會(huì)替代Strict-Transport-Security
(HSTS)標(biāo)頭,該標(biāo)頭仍應(yīng)設(shè)置適當(dāng)?shù)臉?biāo)頭max-age
以確保用戶不會(huì)受到SSL剝離攻擊。
Content-Security-Policy: upgrade-insecure-requests;
// headerContent-Security-Policy: upgrade-insecure-requests;// meta tag<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
通過(guò)將上述標(biāo)頭設(shè)置在域example.com上并希望從HTTP遷移到HTTPS,非導(dǎo)航不安全資源請(qǐng)求會(huì)自動(dòng)升級(jí)(第一方以及第三方請(qǐng)求)。
<img src="http://example.com/image.png"><img src="http://not-example.com/image.png">
這些 URL 將在請(qǐng)求發(fā)生之前被重寫,這意味著沒(méi)有不安全的請(qǐng)求會(huì)觸及網(wǎng)絡(luò)。請(qǐng)注意,如果請(qǐng)求的資源通過(guò) HTTPS 實(shí)際上不可用,則該請(qǐng)求將失敗,而不會(huì)返回到 HTTP。
<img src="https://example.com/image.png"><img src="https://not-example.com/image.png">
導(dǎo)航升級(jí)到第三方資源會(huì)帶來(lái)更高的破損潛力,但這些升級(jí)并不會(huì)升級(jí):
<a href="https://example.com/">Home</a><a href="http://not-example.com/">Home</a>
借助Content-Security-Policy-Report-Only
標(biāo)題和report-uri
指令,您可以設(shè)置強(qiáng)制策略和報(bào)告策略,如下所示:
Content-Security-Policy: upgrade-insecure-requests; default-src https: Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint
這樣,您仍會(huì)在安全網(wǎng)站上升級(jí)不安全的請(qǐng)求,但唯一的監(jiān)控策略被違反并向您的端點(diǎn)報(bào)告不安全的資源。
規(guī)范 | 狀態(tài) | 評(píng)論 |
---|---|---|
升級(jí)不安全的請(qǐng)求在該規(guī)范中定義了“ upgrade-insecure-requests ”。 | 候選推薦 | 初始定義。 |
特征 | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基本支持 | 43 | 42.0 | (No)1 | (No) | 30 | (No) |
特征 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基本支持 | ? | 43 | (No) | 42.0 | (No) | ? | (No) |