CSP: upgrade-insecure-requests

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

The HTTP Content-Security-Policy (CSP) upgrade-insecure-requests est une directive CSP (Content Security Policy) vous permettant de signifier aux clients HTTP/Navigateurs que toutes les ressources doivent être accédées via HTTPS. Cela vous permet de migrer plus facilement vers HTTPS des sites ou applications web contenant un grand nombre de ressources déclarées en HTTP. Vos ressources seront automatiquement récupérées en HTTPS par le client/navigateur, sans aucune alerte de contenu mixte (mixed content). Il faut bien entendu veiller à ce que vos serveurs de ressources soient accessibles en HTTPS.

La directive upgrade-insecure-requests est évaluée avant block-all-mixed-content et si elle est définie, cette dernière est effectivement non opérante. Il est recommandé de définir une directive ou l'autre, mais pas les deux.

La directive upgrade-insecure-requests ne garantira pas que les utilisateurs qui visitent votre site via des liens sur des sites tiers seront mis à niveau vers HTTPS pour la navigation de haut niveau et ne remplacent donc pas Strict-Transport-Security HSTS) entête, qui devrait toujours être configuré avec un âge maximal approprié pour s'assurer que les utilisateurs ne sont pas soumis à des attaques de décapage SSL.

Syntax

Content-Security-Policy: upgrade-insecure-requests;

Examples

// header
Content-Security-Policy: upgrade-insecure-requests;

// meta tag
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

With the above header set on a domain example.com that wants to migrate from HTTP to HTTPS, non-navigational insecure resource requests are automatically upgraded (first-party as well as third-party requests).

<img src="http://example.com/image.png">
<img src="http://not-example.com/image.png">

These URLs will be rewritten before the request is made, meaning that no insecure requests will hit the network. Note that, if the requested resource is not actually available via HTTPS, the request will fail without any fallback to HTTP.

<img src="https://example.com/image.png">
<img src="https://not-example.com/image.png">

Navigational upgrades to third-party resources brings a significantly higher potential for breakage, these are not upgraded:

<a href="https://example.com/">Home</a>
<a href="http://not-example.com/">Home</a>

Finding insecure requests

With the help of the Content-Security-Policy-Report-Only header and the report-uri directive, you can set-up an enforced policy and a reported policy like this:

Content-Security-Policy: upgrade-insecure-requests; default-src https: 
Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint

That way, you still upgrade insecure requests on your secure site, but the only monitoring policy is violated and reports insecure resources to your endpoint.

Specifications

Specification Status Comment
Upgrade Insecure Requests
La définition de 'upgrade-insecure-requests' dans cette spécification.
Candidat au statut de recommandation Initial definition.

Browser compatibility

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple43 Non142 Non30 Non
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple4343 Non42 Non30 Non

1. Under consideration for future release.

See also

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Mushu2a
 Dernière mise à jour par : Mushu2a,