CSP: upgrade-insecure-requests
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
Die HTTP-Richtlinie Content-Security-Policy
(CSP)
upgrade-insecure-requests
weist Benutzeragenten an, alle unsicheren URLs einer Seite (die über HTTP bereitgestellt werden) so zu behandeln, als wären sie durch sichere URLs (die über HTTPS bereitgestellt werden) ersetzt worden. Diese Richtlinie ist für Websites vorgesehen, die eine große Anzahl unsicherer, veralteter URLs haben, die umgeschrieben werden müssen.
Hinweis:
Die Direktive upgrade-insecure-requests
wird vor
block-all-mixed-content
ausgewertet, und wenn sie gesetzt ist, ist letzteres im Wesentlichen eine No-op. Es wird empfohlen, entweder die eine oder die andere Direktive zu setzen, aber nicht beide, es sei denn, Sie möchten HTTPS bei älteren Browsern erzwingen, die es nach einer Umleitung zu HTTP nicht erzwingen.
Die Direktive upgrade-insecure-requests
stellt nicht sicher, dass Benutzer, die Ihre Seite über Links auf Websites Dritter besuchen, für die oberste Navigation auf HTTPS umgestellt werden, und ersetzt somit nicht den
Strict-Transport-Security
(HSTS) Header, der weiterhin mit einem geeigneten max-age
gesetzt werden sollte, um sicherzustellen, dass Benutzer nicht Anfällig für SSL-Stripping-Angriffe sind.
Syntax
Content-Security-Policy: upgrade-insecure-requests;
Beispiele
Verwenden des HTTP-Headers
Content-Security-Policy: upgrade-insecure-requests;
Verwenden des HTML-Meta-Elements
<meta
http-equiv="Content-Security-Policy"
content="upgrade-insecure-requests" />
Mit dem obigen Header, der auf einer Domain example.com gesetzt ist, die von HTTP zu HTTPS migrieren möchte, werden nicht-navigierende unsichere Ressourcenanfragen automatisch aufgewertet (sowohl Erstanbieter- als auch Drittanbieteranfragen).
<img src="http://example.com/image.png" />
<img src="http://not-example.com/image.png" />
Diese URLs werden umgeschrieben, bevor die Anfrage gestellt wird, was bedeutet, dass keine unsicheren Anfragen das Netzwerk erreichen. Beachten Sie, dass die Anfrage fehlschlagen wird, ohne auf HTTP zurückzufallen, wenn die angeforderte Ressource tatsächlich nicht über HTTPS verfügbar ist.
<img src="https://example.com/image.png" />
<img src="https://not-example.com/image.png" />
Navigations-Upgrades zu Drittanbieter-Ressourcen bergen ein deutlich höheres Potential für Ausfälle, diese werden nicht aufgewertet:
<a href="https://example.com/">Home</a>
<a href="http://not-example.com/">Home</a>
Finden unsicherer Anfragen
Mit Hilfe des Content-Security-Policy-Report-Only
Headers und der report-uri
Direktive können Sie eine durchgesetzte Richtlinie und eine berichtende Richtlinie wie folgt einrichten:
Content-Security-Policy: upgrade-insecure-requests; default-src https:
Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint
Auf diese Weise werden unsichere Anfragen auf Ihrer sicheren Seite dennoch aufgewertet, aber nur die Überwachungsrichtlinie wird verletzt und meldet unsichere Ressourcen an Ihren Endpunkt.
Spezifikationen
Specification |
---|
Upgrade Insecure Requests # delivery |