CSP: base-uri
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
Die HTTP-Richtlinie Content-Security-Policy
base-uri
beschränkt die URLs, die im <base>
Element eines Dokuments verwendet werden können. Wenn dieser Wert fehlt, ist jede URI erlaubt. Wenn diese Direktive fehlt, verwendet der Benutzeragent den Wert im <base>
Element.
CSP-Version | 2 |
---|---|
Direktivtyp | Dokument-Direktive |
default-src Rückfall |
Nein. Wenn dies nicht gesetzt wird, ist jede URL erlaubt. |
Syntax
Content-Security-Policy: base-uri 'none';
Content-Security-Policy: base-uri <source-expression-list>;
Diese Direktive kann einen der folgenden Werte haben:
'none'
-
Es darf keine Basis-URI mit einem
<base>
Element gesetzt werden. Die einfachen Anführungszeichen sind obligatorisch. <source-expression-list>
-
Eine durch Leerzeichen getrennte Liste von Quellausdruck Werten. Ein
<base>
Element darf eine Basis-URI setzen, wenn sein Wert mit einem der angegebenen Quellausdrücke übereinstimmt.Quellausdrücke werden als Schlüsselwortwerte oder URL-Muster angegeben: die Syntax für jeden Quellausdruck ist in CSP-Quellwerte angegeben. Allerdings gilt für
base-uri
nur der folgende Teil dieser Werte:<host-source>
<scheme-source>
- der Schlüsselwortwert
'self'
.
Beispiele
Meta-Tag-Konfiguration
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />
Apache-Konfiguration
<IfModule mod_headers.c>
Header set Content-Security-Policy "base-uri 'self'";
</IfModule>
Nginx-Konfiguration
add_header Content-Security-Policy "base-uri 'self';"
Verletzungsfall
Da Ihre Domain nicht example.com
ist, führt ein <base>
Element mit einem href
, das auf https://example.com
gesetzt ist, zu einem CSP-Verstoß.
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />
<base href="https://example.com/" />
<!--
// Error: Refused to set the document's base URI to 'https://example.com/'
// because it violates the following Content Security Policy
// directive: "base-uri 'self'"
-->
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-base-uri |
Browser-Kompatibilität
BCD tables only load in the browser