Content-Security-Policy: base-uri Direktive

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Die HTTP Content-Security-Policy base-uri Direktive beschränkt die URLs, die im <base> Element eines Dokuments verwendet werden können. Fehlt dieser Wert, ist jede URI erlaubt. Fehlt diese Direktive, verwendet der Benutzeragent den Wert im <base> Element.

CSP Version 2
Direktivtyp Dokument-Direktive
default-src Fallback Nein. Wenn dies nicht gesetzt ist, sind alle URLs erlaubt.

Syntax

http
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 Quell-Ausdruck Werten. Ein <base> Element kann eine Basis-URI setzen, wenn dessen Wert mit einem der angegebenen Quellausdrücke übereinstimmt. Für diese Direktive sind die folgenden Quellausdruck-Werte anwendbar:

Beispiele

Meta-Tag-Konfiguration

html
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />

Apache-Konfiguration

apacheconf
<IfModule mod_headers.c>
Header set Content-Security-Policy "base-uri 'self'";
</IfModule>

Nginx-Konfiguration

nginx
add_header Content-Security-Policy "base-uri 'self';"

Verstoßfall

Da Ihre Domain nicht example.com ist, wird ein <base> Element mit href auf https://example.com zu einem CSP-Verstoß führen.

html
<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

Siehe auch