Content-Security-Policy: upgrade-insecure-requests-Direktive
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 Content-Security-Policy (CSP)
upgrade-insecure-requests-Direktive weist Benutzeragenten an, alle unsicheren URLs einer Website (die über HTTP bereitgestellt werden) so zu behandeln, als wären sie durch sichere URLs (die über HTTPS bereitgestellt werden) ersetzt worden. Diese Direktive ist für Websites gedacht, die eine große Anzahl unsicherer Legacy-URLs haben, die neu geschrieben werden müssen.
Die upgrade-insecure-requests-Direktive stellt nicht sicher, dass Benutzer, die Ihre Website über Links auf Drittanbieter-Websites besuchen, für die oberste Navigation auf HTTPS umgestellt werden. Daher ersetzt sie nicht den Strict-Transport-Security (HSTS)-Header, der weiterhin mit einem geeigneten max-age gesetzt werden sollte, um sicherzustellen, dass Benutzer nicht Ziel von SSL-Stripping-Angriffen werden.
Syntax
Content-Security-Policy: upgrade-insecure-requests;
Beispiele
>Verwendung des HTTP-Headers
Content-Security-Policy: upgrade-insecure-requests;
Verwendung des HTML-Meta-Elements
<meta
http-equiv="Content-Security-Policy"
content="upgrade-insecure-requests" />
Mit dem oben genannten Header, der auf einer Domain example.com gesetzt ist, die von HTTP zu HTTPS migrieren möchte, werden nicht navigationsbezogene unsichere Ressourcenanforderungen automatisch aufgewertet (sowohl Erstanbieter- als auch Drittanbieteranforderungen).
<img src="http://example.com/image.png" />
<img src="http://not-example.com/image.png" />
Diese URLs werden umgeschrieben, bevor die Anfrage erfolgt, was bedeutet, dass keine unsicheren Anforderungen das Netzwerk erreichen. Beachten Sie, dass, wenn die angeforderte Ressource tatsächlich nicht über HTTPS verfügbar ist, die Anfrage fehlschlägt, ohne auf HTTP zurückzufallen.
<img src="https://example.com/image.png" />
<img src="https://not-example.com/image.png" />
Navigations-Upgrades zu Drittanbieterressourcen haben ein signifikant höheres Potenzial für Fehler, diese werden nicht aufgewertet:
<a href="https://example.com/">Home</a>
<a href="http://not-example.com/">Home</a>
Unsichere Anfragen finden
Mit Hilfe des Content-Security-Policy-Report-Only-Headers und der report-uri-Direktive können Sie eine durchgesetzte Richtlinie und eine berichtete 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 werten Sie weiterhin unsichere Anfragen auf Ihrer sicheren Website auf, aber nur die Überwachungsrichtlinie wird verletzt und meldet unsichere Ressourcen an Ihren Endpunkt.
Spezifikationen
| Specification |
|---|
| Upgrade Insecure Requests> # delivery> |